收集 SNMP 协议机器信息

简介

service_snmp插件支持 SNMP V1,V2,V3。可以转化用户输入并对指定 ip 的机器执行 SNMP-GET 指令获取机器信息。

运行本插件需要本地已运行 snmp 程序,开放snmpget需要的端口,且可正常执行snmptranslate命令和snmptable命令。

版本

Stable

版本说明

  • 推荐版本:iLogtail v1.0.27 及以上

配置参数

参数
类型
是否必选
参数说明

Type

string

插件类型,固定为service_snmp

Targets

string list

目标机器组的 ip 地址组

Port

string

SNMP 协议使用的端口,默认为"161"

Community

string

SNMPV1,V2 使用的验证方式:community。默认为"public"

UserName

string

SNMPV3 使用的验证方式:用户名。默认为空

AuthenticationProtocol

string

SNMPV3 使用的验证方式:验证协议。默认为NoAuth

AuthenticationPassphrase

string

SNMPV3 使用的验证方式:验证密码。当验证协议(AuthenticationProtocol)设置为 MD5 或 SHA 时,本项是必需的。默认为空

PrivacyProtocol

string

SNMPV3 使用的验证方式:隐私协议。默认为NoPriv

PrivacyPassphrase

string

SNMPV3 使用的验证方式:隐私协议密码。当隐私协议设置为 DES 或 AES 时,本项是必需的。默认为与用户密码一致

Timeout

int

一次查询操作的超时时间,单位为秒。默认为5

Version

int

SNM 协议版本,可以填写123,默认为2

Transport

string

SNMP 的通讯方法,可以填写"udp""tcp",默认为"udp"

MaxRepetitions

int

查询超时后的重试次数,默认为0

Oids

string list

对目标机器查询的 Oid 列表,默认为空

Fields

string list

对目标机器查询的 Fields 列表。本插件会先对 Fields 进行翻译,查找本地 MIB 将之翻译为 Oids 并一起查询,默认为空

Tables

string list

对目标机器查询的 Tables 列表。本插件会首先查询 Table 内所有的 Field,查找本地 MIB 将之翻译为 Oids 并一起查询,默认为空

配置文件及结果示例

插件设置示例一

config.json中:

本示例采用了 SNMPV2 协议,团体名为"public"

采集结果:

采集字段含义:

字段
说明

_target_

目标收集的机器 ip

_targetindex_

目标收集的机器在本插件所有目标机器组中的排序。本例中仅有一个目标机器127.0.0.1因此本项恒为 0

_field_

目标收集的 Oid 经过本地 MIB 翻译后的内容

_oid_

目标收集的 Oid

_conversion_

收集结果进行了哪种类型转换,目前支持"ipaddr""hwaddr"两种,分别会对 ip 地址和设备地址进行转换。若为空则未发生类型转换

_type_

收集到的结果的类型

_content_

收集到的结果的内容

插件设置示例二

config.json中:

本示例采用了 SNMPV3 协议,查询的目标机器组仅有一台机器"127.0.0.1"即本机。用户名为"snmpreadonly", 验证协议为"SHA", 用户密码为"SecUREDpass", 隐私协议为"AES", 隐私密码为"StRongPASS"

若希望在本地复现该配置,可以运行:

采集结果:

Last updated