SNMP Trap 输入插件
编辑SNMP Trap 输入插件
编辑有关其他版本,请参阅版本化插件文档。
获取帮助
编辑有关插件的问题,请在Discuss论坛中开启一个主题。有关错误或功能请求,请在Github中开启一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑logstash-input-snmptrap
插件将 SNMP trap 消息作为事件读取。
生成的 message
字段类似于
{"agent_addr":"192.168.1.40", "generic_trap":6, "specific_trap":15511, "enterprise":"1.3.6.1.2.1.1.1", "variable_bindings":{"1.3.6.1.2.1.1.2.0":"test one", "1.3.6.1.2.1.1.1.0":"test two"}, "type":"V1TRAP", "community":"public", "version":1, "timestamp":1500}
事件元数据和 Elastic Common Schema (ECS)
编辑由于 SNMP 数据具有基于 OID 的特定字段名称,我们建议设置一个target
。源主机字段会根据ecs_compatibility
而变化。
ECS 已禁用 |
ECS v1, v8 |
可用性 |
描述 |
[host] |
[host][ip] |
始终 |
主机的 IP 地址,例如“192.168.1.11” |
此插件还会将 trap PDU 元数据添加到每个事件。该值存储在 @metadata
中,可以在管道中的其他插件中使用。
ECS 已禁用,v1,v8 |
可用性 |
描述 |
[@metadata][input][snmptrap][pdu][agent_addr] |
|
生成 trap 的对象的网络地址 |
[@metadata][input][snmptrap][pdu][community] |
|
SNMP community |
[@metadata][input][snmptrap][pdu][enterprise] |
|
生成 trap 的对象的类型 |
[@metadata][input][snmptrap][pdu][error_index] |
|
通过标识列表中哪个变量绑定导致错误来提供其他信息 |
[@metadata][input][snmptrap][pdu][error_status] |
|
错误状态代码 |
[@metadata][input][snmptrap][pdu][error_status_text] |
|
错误状态代码描述 |
[@metadata][input][snmptrap][pdu][generic_trap] |
|
通用 trap 类型 |
[@metadata][input][snmptrap][pdu][request_id] |
|
请求 ID |
[@metadata][input][snmptrap][pdu][specific_trap] |
|
特定代码,即使 generic_trap 不是企业特定的也会显示 |
[@metadata][input][snmptrap][pdu][timestamp] |
|
网络实体上次(重新)初始化与生成 trap 之间经过的时间 |
[@metadata][input][snmptrap][pdu][type] |
始终 |
PDU 类型 |
[@metadata][input][snmptrap][pdu][variable_bindings] |
始终 |
SNMP 变量绑定值 |
[@metadata][input][snmptrap][pdu][version] |
始终 |
SNMP 版本 |
SNMP Trap 输入配置选项
编辑此插件支持以下配置选项,以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
否 |
||
否 |
||
否 |
||
否 |
||
字符串,可以是 |
否 |
|
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
已弃用 |
SNMPv3 身份验证选项
编辑此插件支持以下 SNMPv3 身份验证选项。
SNMP Trap 输入配置选项
编辑另请参阅通用选项,以获取所有输入插件支持的选项列表。
community
编辑- 值类型是数组
- 默认值是
["public"]
要侦听的 SNMPv1 和 SNMPv2c community。要允许任何 community,请将此配置值设置为空 community => []
。
示例
侦听 public
和 guest
community
input { snmptrap { community => ["public", "guest"] } }
侦听所有 community
input { snmptrap { community => [] } }
ecs_compatibility
编辑- 值类型是字符串
-
支持的值为
-
disabled
:不使用与 ECS 兼容的字段名称(字段可能设置在事件的根目录) -
v1
,v8
:避免可能与 Elastic Common Schema 冲突的字段名称(例如,host
字段)
-
-
默认值取决于正在运行的 Logstash 版本
- 当 Logstash 提供
pipeline.ecs_compatibility
设置时,其值将用作默认值 - 否则,默认值为
disabled
。
- 当 Logstash 提供
控制此插件与Elastic Common Schema (ECS)的兼容性。
mib_paths
编辑- 值类型是路径
- 此设置没有默认值
mib_paths
选项指定一个或多个导入的 MIB 文件的位置。该值可以是包含导入的 MIB (.dic
、.yaml
) 文件的目录路径,也可以是单个 MIB 文件的文件路径。
oid_mapping_format
编辑- 值可以是以下任何一个:
default
、ruby_snmp
、dotted_string
- 默认值是
"default"
定义 Logstash 事件中 OID 的映射文本表示形式:* default
使用 MIB 解析的名称(以点分隔)转换每个标识符。示例:1.3.6.1.2.1.1.2.0
映射为 iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0
* ruby_snmp
生成以 MIB 模块名称为前缀的字段名称,后跟最新的已解析标识符名称和未知值。示例:1.3.6.1.2.1.1.2.0
映射为 SNMPv2-MIB::sysObjectID.0
。* dotted_string
使用标准点字符串表示形式映射字段。示例:1.3.6.1.2.1.1.2.0
映射为 1.3.6.1.2.1.1.2.0
oid_map_field_values
编辑- 值类型是布尔值
- 默认值是
false
定义是否使用在oid_mapping_format
选项上配置的 OID 文本表示形式映射类型为 OID
的 Logstash 事件字段值。
oid_root_skip
编辑- 值类型是数字
- 默认值是
0
oid_root_skip
选项指定在事件字段名称中要忽略的 OID 根数字的数量。例如,在像“1.3.6.1.2.1.1.1.0”这样的数字 OID 中,可以通过设置 oid_root_skip => 5
来忽略前 5 位数字,这将导致字段名称为“1.1.1.0”。同样,当使用 MIB 时,诸如“1.3.6.1.2.mib-2.system.sysDescr.0”之类的 OID 将变为“mib-2.system.sysDescr.0”
- 您可以使用此设置或
oid_path_length
,但不能同时使用两者。 - 仅当
oid_mapping_format
设置为default
时才使用此设置。
oid_path_length
编辑- 值类型是数字
- 默认值是
0
oid_path_length
选项指定在事件字段名称中要保留的 OID 根数字的数量。例如,在像“1.3.6.1.2.1.1.1.0”这样的数字 OID 中,可以通过设置 oid_path_length => 2
来保留最后 2 位数字,这将导致字段名称为“1.0”。同样,当使用 MIB 时,诸如“1.3.6.1.2.mib-2.system.sysDescr.0”之类的 OID 将变为“sysDescr.0”
- 您可以使用此设置或
oid_root_skip
,但不能同时使用两者。 - 仅当
oid_mapping_format
设置为default
时才使用此设置。
supported_transports
编辑- 值类型是字符串
- 允许的值为:
tcp
,udp
- 默认值是
["udp"]
要侦听的受支持传输协议。
SNMP 最初设计用于将 UDP 作为传输协议,这是官方建议。TCP 是一种可选的传输映射,可以根据需要启用。有关通过 TCP 的 SNMP 的更多详细信息,请参阅RFC-3430。
supported_versions
编辑- 值类型是字符串
- 允许的值为:
1
、2c
、3
- 默认值是
["1", "2c"]
要侦听的受支持的 SNMP 协议版本。对于不支持和/或禁用的版本,SNMP 消息会自动丢弃。
SNMPv3 身份验证选项
编辑可以配置单个用户。如果需要多个 SNMPv3 用户,则需要多个 snmptrap 输入声明。只有在使用 SNMPv3 时才需要这些选项。
auth_protocol
编辑auth_protocol
选项指定 SNMPv3 身份验证协议或类型
- 值可以是以下任意值:
md5
、sha
、sha2
、hmac128sha224
、hmac192sha256
、hmac256sha384
、hmac384sha512
- 请注意,
sha2
和hmac192sha256
是等效的 - 此设置没有默认值
priv_protocol
编辑- 值可以是以下任意值:
des
、3des
、aes
、aes128
、aes192
、aes256
- 请注意,
aes
和aes128
是等效的 - 此设置没有默认值
priv_protocol
选项指定 SNMPv3 隐私/加密协议。
security_level
编辑- 值可以是以下任意值:
noAuthNoPriv
、authNoPriv
、authPriv
- 此设置没有默认值
security_level
选项指定 SNMPv3 安全级别,取值范围为身份验证、无隐私;身份验证、隐私;或无身份验证、无隐私。
配置示例
编辑指定 SNMPv3 trap 设置
input { snmptrap { supported_versions => ['3'] security_name => "mySecurityName" auth_protocol => "sha" auth_pass => "ShaPassword" priv_protocol => "aes" priv_pass => "AesPasword" security_level => "authPriv" } }
常用选项
编辑所有输入插件都支持这些配置选项
codec
编辑- 值类型是 codec
- 默认值是
"plain"
用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前解码数据,而无需在 Logstash 管道中使用单独的过滤器。