本文介绍如何使用Logtail的input_snmp插件采集SNMP协议机器信息。
前提条件
已有可用的机器用于安装Logtail,且该机器需具备如下条件。
已在机器上运行snmp程序。
已在机器上开放
snmpget
所需端口。该机器支持执行
snmptranslate
命令和snmptable
命令。
操作步骤
登录日志服务控制台。
在接入数据区域,选择自定义数据插件。
选择目标Project和Logstore,单击下一步。
创建机器组。
如果您已有可用的机器组,请单击使用现有机器组。
如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
在ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击创建。
具体操作,请参见安装Logtail(ECS实例)。
重要如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您需要手动安装Logtail。具体操作,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。手动安装Logtail后,您必须在该服务器上手动配置用户标识。具体操作,请参见配置用户标识。
安装完成后,单击确认安装完毕。
在创建机器组页面,输入名称,单击下一步。
日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组和创建用户自定义标识机器组。
选中目标机器组,将该机器组从源机器组移动到应用机器组,单击下一步。
重要创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组问题排查思路(主机场景)。
在数据源设置页签中,设置配置名称和插件配置,然后单击下一步。
inputs
为数据源配置,必选项。processors
为处理配置,用于解析数据。可选项,您可以配置一种或多种处理方式。如果当前的
inputs
配置无法满足日志解析需求,您可以在中插件配置添加processors配置,即添加Logtail插件处理数据。例如提取字段、提取日志时间、脱敏数据、过滤日志等。更多信息,请参见使用Logtail插件处理数据。
"inputs":[ { "type":"service_snmp", "detail":{ "Targets": ["127.0.0.1"], "Port": "161", "Community": "public", "Timeout": 5, "Version":2, "Transport":"udp", "MaxRepetitions":0, "Oids":[ "1.3.6.1.2.1.1.3.0" ] } } ],
参数
类型
是否必选
参数说明
Targets
string list
必选
目标机器组的IP地址。
Port
string
可选
SNMP协议使用的端口,默认值为
161
。Community
string
可选
团体名称,默认值为
public
。SNMPv1和SNMPv2使用团体名进行认证。
UserName
string
可选
用户名,默认值为空。
SNMPv3支持使用用户名进行认证。
AuthenticationProtocol
string
可选
验证协议,默认值为
NoAuth
。SNMPv3支持使用验证协议进行认证。
AuthenticationPassphrase
string
可选
验证密码,默认值为空。
设置
AuthenticationProtocol
为MD5
或SHA
时,需要设置AuthenticationPassphrase
。PrivacyProtocol
string
可选
隐私协议,默认值为
NoPriv
。SNMPv3支持使用隐私协议进行认证。
PrivacyPassphrase
string
可选
隐私协议密码,默认与验证密码一致。
当设置
PrivacyProtocol
为DES
或AES
时,必须设置PrivacyPassphrase
。Timeout
int
可选
一次查询操作的超时时间,单位为秒。默认值为
5
。Version
int
可选
SNMP协议版本,默认值为
2
。可选值为
1
、2
、3
。Transport
string
可选
SNMP通讯方法,默认值为
udp
。可选值为
udp
、tcp
。MaxRepetitions
int
可选
查询超时后的重试次数,默认值为
0
。Oids
string list
可选
在目标机器中查询的对象标识符,默认值为空。
Fields
string list
可选
在目标机器中查询的字段,默认值为空。
本插件会先对字段进行翻译,即查找本地管理信息库,将其翻译为对象标识符并一起查询。
Tables
string list
可选
在目标机器中查询的表,默认值为空。
本插件会先查询表内所有的字段,然后查找本地管理信息库,将其翻译为对象标识符并一起查询。
预览数据及创建索引,然后单击下一步。
日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引。
配置示例
示例一
Logtail插件配置示例
本示例使用SNMPv2协议,团体名为
public
。"inputs":[ { "type":"service_snmp", "detail":{ "Targets": ["127.0.0.1"], "Port": "161", "Community": "public", "Timeout": 5, "Version":2, "Transport":"udp", "MaxRepetitions":0, "Oids":[ "1.3.6.1.2.1.1.3.0", "1.3.6.1.2.1.1.4.0", "1.3.6.1.2.1.1.7.0", "1.3.6.1.2.1.1.1.0" ] } } ],
采集结果
{"_target_":"127.0.0.1","_field_":"DISMAN-EXPRESSION-MIB::sysUpTimeInstance","_oid_":".1.3.6.1.2.1.1.3.0","_conversion_":"","_type_":"TimeTicks","_content_":"10522102","_targetindex_":"0"} {"_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysContact.0","_oid_":".1.3.6.1.2.1.1.4.0","_conversion_":"","_type_":"OctetString","_content_":"Me <me@example.org>","_targetindex_":"0"} {"_conversion_":"","_type_":"Integer","_content_":"72","_targetindex_":"0","_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysServices.0","_oid_":".1.3.6.1.2.1.1.7.0"} {"_targetindex_":"0","_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysDescr.0","_oid_":".1.3.6.1.2.1.1.1.0","_conversion_":"","_type_":"OctetString","_content_":"Linux 4be69bf59c36 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64"}
示例二
Logtail插件配置示例
本示例采用SNMPv3协议,查询的目标机器组中仅有一台机器,用户名为
snmpreadonly
,验证协议为SHA
,验证协议密码为SecUREDpass
,隐私协议为AES
,隐私密码为StRongPASS
。"inputs":[ { "type":"service_snmp", "detail":{ "Targets":["127.0.0.1"], "Port": "161", "Community": "public", "Timeout": 5, "Version":3, "UserName":"snmpreadonly", "AuthenticationProtocol":"SHA", "AuthenticationPassphrase":"SecUREDpass", "PrivacyProtocol":"AES", "PrivacyPassphrase":"StRongPASS", "Oids":[ "1.3.6.1.2.1.1.3.0", "1.3.6.1.2.1.1.1.0" ], "Fields":[ "SNMPv2-MIB::sysContact.0", "SNMPv2-MIB::sysServices.0" ], "Transport":"udp" } } ],
采集结果
{"_target_":"127.0.0.1","_field_":"DISMAN-EXPRESSION-MIB::sysUpTimeInstance","_oid_":".1.3.6.1.2.1.1.3.0","_conversion_":"","_type_":"TimeTicks","_content_":"10423593","_targetindex_":"0"} {"_type_":"OctetString","_content_":"Linux 4be69bf59c36 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64","_targetindex_":"0","_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysDescr.0","_oid_":".1.3.6.1.2.1.1.1.0","_conversion_":""} {"_content_":"Me <me@example.org>","_targetindex_":"0","_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysContact.0","_oid_":".1.3.6.1.2.1.1.4.0","_conversion_":"","_type_":"OctetString"} {"_conversion_":"","_type_":"Integer","_content_":"72","_targetindex_":"0","_target_":"127.0.0.1","_field_":"SNMPv2-MIB::sysServices.0","_oid_":".1.3.6.1.2.1.1.7.0"}
字段说明
采集SNMP协议机器信息后,日志中存在如下固定字段。
字段 | 说明 |
| 采集的目标机器IP地址。 |
| 目标机器在本插件机器组中的排序。 本文的示例中仅有一个目标机器 |
| 采集的目标对象标识符经过本地管理信息库翻译后的内容。 |
| 采集的目标对象标识符。 |
| 对采集结果进行转换的类型。
|
| 采集结果的类型。 |
| 采集内容。 |