SNMP 陷阱输入插件
编辑SNMP 陷阱输入插件
编辑对于其他版本,请参阅 版本化插件文档。
获取帮助
编辑有关插件的问题,请在 Discuss 论坛中发起主题。对于错误或功能请求,请在 Github 中提交问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵。
描述
编辑logstash-input-snmptrap
插件将 SNMP 陷阱消息读取为事件。
生成的 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 通用模式 (ECS)
编辑由于 SNMP 数据基于 OID 具有特定的字段名称,因此我们建议设置 target
。源主机字段根据 ecs_compatibility
更改。
ECS 已禁用 |
ECS v1、v8 |
可用性 |
描述 |
[host] |
[host][ip] |
始终 |
主机的 IP 地址,例如“192.168.1.11” |
此插件还会将陷阱 PDU 元数据添加到每个事件中。该值存储在 @metadata
中,管道中的其他插件可以使用它。
ECS 已禁用、v1、v8 |
可用性 |
描述 |
[@metadata][input][snmptrap][pdu][agent_addr] |
|
生成陷阱的对象的网络地址 |
[@metadata][input][snmptrap][pdu][community] |
|
SNMP 社区 |
[@metadata][input][snmptrap][pdu][enterprise] |
|
生成陷阱的对象类型 |
[@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] |
|
通用陷阱类型 |
[@metadata][input][snmptrap][pdu][request_id] |
|
请求 ID |
[@metadata][input][snmptrap][pdu][specific_trap] |
|
特定代码,即使通用陷阱不是特定于企业的,也会显示 |
[@metadata][input][snmptrap][pdu][timestamp] |
|
网络实体上次(重新)初始化与生成陷阱之间经过的时间 |
[@metadata][input][snmptrap][pdu][type] |
始终 |
PDU 类型 |
[@metadata][input][snmptrap][pdu][variable_bindings] |
始终 |
SNMP 变量绑定值 |
[@metadata][input][snmptrap][pdu][version] |
始终 |
SNMP 版本 |
SNMP 陷阱输入配置选项
编辑此插件支持以下配置选项以及稍后描述的 常见选项。
设置 | 输入类型 | 必需 |
---|---|---|
否 |
||
否 |
||
否 |
||
否 |
||
字符串, |
否 |
|
是 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
已弃用 |
SNMPv3 身份验证选项
编辑此插件支持以下 SNMPv3 身份验证选项。
SNMP 陷阱输入配置选项
编辑另请参阅 常见选项,了解所有输入插件支持的选项列表。
community
编辑- 值类型为 数组
- 默认值为
["public"]
要侦听的 SNMPv1 和 SNMPv2c 社区。要允许任何社区,请将此配置值设置为空的 community => []
。
示例
侦听 public
和 guest
社区
input { snmptrap { community => ["public", "guest"] } }
侦听所有社区
input { snmptrap { community => [] } }
ecs_compatibility
编辑- 值类型为 字符串
-
支持的值为
-
disabled
:不使用兼容 ECS 的字段名称(字段可能设置在事件的根目录) -
v1
、v8
:避免可能与 Elastic 通用模式 (ECS) 冲突的字段名称(例如,host
字段)
-
-
默认值取决于正在运行的 Logstash 版本
- 当 Logstash 提供
pipeline.ecs_compatibility
设置时,其值将用作默认值 - 否则,默认值为
disabled
。
- 当 Logstash 提供
控制此插件与 Elastic 通用模式 (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
定义 Logstash 事件字段值(类型为 OID
)是否使用 oid_mapping_format
选项上配置的 OID 文本表示形式进行映射。
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 时,OID“1.3.6.1.2.mib-2.system.sysDescr.0”将变为“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
来保留最后两位数字,这将导致字段名称为 "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 陷阱设置
input { snmptrap { supported_versions => ['3'] security_name => "mySecurityName" auth_protocol => "sha" auth_pass => "ShaPassword" priv_protocol => "aes" priv_pass => "AesPasword" security_level => "authPriv" } }