Usage examples
For more information about Telegraf, see the Telegraf documentation for influxdata.
Note
Telegraf plug-ins and agents must have been installed and configured directly on the service.
SNMP
SNMP performance data can be collected and charted in real time using the SNMP input plug-in. The collected data can be retrieved by telegraf_snmp
and telegraf_interface
categories.
Linux Shell
cat >/etc/telegraf/telegraf.d/snmp_device.conf <<EOL
[[inputs.snmp]]
## Agent addresses to retrieve values from.
## format: agents = ["<scheme://><hostname>:<port>"]
## scheme: optional, either udp, udp4, udp6, tcp, tcp4, tcp6.
## default is udp
## port: optional
## example: agents = ["udp://127.0.0.1:161"]
## agents = ["tcp://127.0.0.1:161"]
## agents = ["udp4://v4only-snmp-agent"]
agents = ["udp://1.1.1.1:161"]
## Timeout for each request.
# timeout = "5s"
## SNMP version; can be 1, 2, or 3.
version = 2
## SNMP community string.
community = "xxxx@xxxxx"
## Agent host tag
# agent_host_tag = "agent_host"
## Number of retries to attempt.
# retries = 3
## The GETBULK max-repetitions parameter.
# max_repetitions = 10
## SNMPv3 authentication and encryption options.
##
## Security Name.
# sec_name = "myuser"
## Authentication protocol; one of "MD5", "SHA", "SHA224", "SHA256", "SHA384", "SHA512" or "".
# auth_protocol = "MD5"
## Authentication password.
# auth_password = "pass"
## Security Level; one of "noAuthNoPriv", "authNoPriv", or "authPriv".
# sec_level = "authNoPriv"
## Context Name.
# context_name = ""
## Privacy protocol used for encrypted messages; one of "DES", "AES", "AES192", "AES192C", "AES256", "AES256C", or "".
### Protocols "AES192", "AES192", "AES256", and "AES256C" require the underlying net-snmp tools
### to be compiled with --enable-blumenthal-aes (http://www.net-snmp.org/docs/INSTALL.html)
# priv_protocol = ""
## Privacy password used for encrypted messages.
# priv_password = ""
## Add fields and tables defining the variables you wish to collect. This
## example collects the system uptime and interface variables. Reference the
## full plugin documentation for configuration details.
[[inputs.snmp.field]]
oid = "RFC1213-MIB::sysUpTime.0"
name = "uptime"
[[inputs.snmp.field]]
oid = "RFC1213-MIB::sysName.0"
name = "source"
is_tag = true
[[inputs.snmp.table]]
oid = "IF-MIB::ifXTable"
name = "interface"
inherit_tags = ["source"]
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifDescr"
name = "ifDescr"
is_tag = true
[[aggregators.derivative]]
period = "60s"
max_roll_over = 1
fieldpass = ["*Octets", "*Pkts"]
drop_original = false
[aggregators.derivative.tags]
aggr = "derivative"
[[processors.starlark]]
source = '''
def apply(metric):
for (k, v) in metric.fields.items():
if k.endswith('Octets_rate'):
metric.fields[k] *= 8
return metric
'''
EOL
service telegraf restart
SNMP Trap
Using the SNMP Trap input plug-in, SNMP Trap events can be collected in real time and propagated via emails, text messages, and messengers. The collected data can be retrieved by the telegraf_snmp_trap
category.
Linux Shell
cat >/etc/telegraf/telegraf.d/snmp_trap.conf <<EOL
[[inputs.snmp_trap]]
service_address = "udp://:162"
EOL
service telegraf restart