SNMP Trap 输入插件
此服务插件侦听 SNMP 通知,如陷阱和 inform 请求。通知通过纯 UDP 在可配置的端口上接收。
路径设置在所有 SNMP 插件类型的实例之间共享!
引入于: Telegraf v1.13.0 标签: hardware, network 操作系统支持: all
服务输入
此插件是服务输入。普通插件收集由 interval 设置确定的指标。服务插件启动一个服务来监听并等待指标或事件发生。服务插件与普通插件的两个主要区别是:
- 全局或插件特定的
interval设置可能不适用 --test、--test-wait和--once的 CLI 选项可能不会为此插件生成输出
全局配置选项
插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md。
Secret-store 支持
此插件支持从 secret-stores 获取 `sec_name`、`auth_password` 和 `priv_password` 选项的 secret。有关如何使用它们的更多详细信息,请参阅 secret-store 文档。
配置
# Receive SNMP traps
[[inputs.snmp_trap]]
## Transport, local address, and port to listen on. Transport must
## be "udp://". Omit local address to listen on all interfaces.
## example: "udp://127.0.0.1:1234"
##
## Special permissions may be required to listen on a port less than
## 1024. See README.md for details
##
# service_address = "udp://:162"
##
## Path to mib files
## Used by the gosmi translator.
## To add paths when translating with netsnmp, use the MIBDIRS environment variable
# path = ["/usr/share/snmp/mibs"]
##
## Timeout running snmptranslate command
## Used by the netsnmp translator only
# timeout = "5s"
## Snmp version; one of "1", "2c" or "3".
# version = "2c"
## 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"
## Privacy protocol used for encrypted messages; one of "DES", "AES", "AES192", "AES192C", "AES256", "AES256C" or "".
# priv_protocol = ""
## Privacy password used for encrypted messages.
# priv_password = ""SNMP 后端: gosmi vs netsnmp
此插件支持两个后端来转换 SNMP 对象。默认情况下,Telegraf 将使用 netsnmp,但此选项已被弃用,并鼓励迁移到 gosmi。如果用户在使用 gosmi 时遇到 netsnmp 不会出现的问题,请在 GitHub 上提交一个项目 issue。
SNMP 后端设置是一个全局设置,适用于 Telegraf 中所有 SNMP 的使用。用户可以在 [agent] 配置中通过 snmp_translator 选项设置此选项。有关更多详细信息,请参阅 agent 配置。
使用特权端口
在许多操作系统上,监听特权端口(小于 1024 的端口号)需要额外的权限。由于默认的 SNMP trap 端口 162 属于此类,因此使用 telegraf 接收 SNMP traps 可能需要额外的权限。
关于在特权端口上监听的说明因操作系统而异。不建议运行 telegraf 作为超级用户来使用特权端口。而是遵循最小权限原则,并使用更具体的操作系统机制来允许 telegraf 使用该端口。您也可以让 telegraf 使用一个非特权端口,然后配置一个防火墙端口转发规则从特权端口转发。
要在 Linux 上使用特权端口,您可以使用 setcap 为 telegraf 二进制文件启用 CAP_NET_BIND_SERVICE 能力。
setcap cap_net_bind_service=+ep /usr/bin/telegraf在 Mac OS 上,10.14 及更高版本上监听特权端口不受限制。
Metrics
- snmp_trap
- 标签 (tags)
- source (string, trap 源的 IP 地址)
- name (string, SNMPv2-MIB::snmpTrapOID.0 PDU 中的值)
- mib (string, SNMPv2-MIB::snmpTrapOID.0 PDU 中的 MIB)
- oid (string, SNMPv2-MIB::snmpTrapOID.0 PDU 中的 OID 字符串)
- version (string, “1” 或 “2c” 或 “3”)
- context_name (string, v3 trap 中的值)
- engine_id (string, v3 trap 中的值)
- community (string, 1 或 2c trap 中的值)
- 字段 (fields)
- 字段从 trap 中的变量映射而来。字段名称是 MIB 查找后 trap 变量的名称。字段值是 trap 变量的值。
- 标签 (tags)
示例输出
snmp_trap,mib=SNMPv2-MIB,name=coldStart,oid=.1.3.6.1.6.3.1.1.5.1,source=192.168.122.102,version=2c,community=public snmpTrapEnterprise.0="linux",sysUpTimeInstance=1i 1574109187723429814
snmp_trap,mib=NET-SNMP-AGENT-MIB,name=nsNotifyShutdown,oid=.1.3.6.1.4.1.8072.4.0.2,source=192.168.122.102,version=2c,community=public sysUpTimeInstance=5803i,snmpTrapEnterprise.0="netSnmpNotificationPrefix" 1574109186555115459此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。