本文介绍如何使用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" ] } } ],参数
类型
是否必选
参数说明
Targetsstring list
必选
目标机器组的IP地址。
Portstring
可选
SNMP协议使用的端口,默认值为
161。Communitystring
可选
团体名称,默认值为
public。SNMPv1和SNMPv2使用团体名进行认证。
UserNamestring
可选
用户名,默认值为空。
SNMPv3支持使用用户名进行认证。
AuthenticationProtocolstring
可选
验证协议,默认值为
NoAuth。SNMPv3支持使用验证协议进行认证。
AuthenticationPassphrasestring
可选
验证密码,默认值为空。
设置
AuthenticationProtocol为MD5或SHA时,需要设置AuthenticationPassphrase。PrivacyProtocolstring
可选
隐私协议,默认值为
NoPriv。SNMPv3支持使用隐私协议进行认证。
PrivacyPassphrasestring
可选
隐私协议密码,默认与验证密码一致。
当设置
PrivacyProtocol为DES或AES时,必须设置PrivacyPassphrase。Timeoutint
可选
一次查询操作的超时时间,单位为秒。默认值为
5。Versionint
可选
SNMP协议版本,默认值为
2。可选值为
1、2、3。Transportstring
可选
SNMP通讯方法,默认值为
udp。可选值为
udp、tcp。MaxRepetitionsint
可选
查询超时后的重试次数,默认值为
0。Oidsstring list
可选
在目标机器中查询的对象标识符,默认值为空。
Fieldsstring list
可选
在目标机器中查询的字段,默认值为空。
本插件会先对字段进行翻译,即查找本地管理信息库,将其翻译为对象标识符并一起查询。
Tablesstring 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地址。 |
| 目标机器在本插件机器组中的排序。 本文的示例中仅有一个目标机器 |
| 采集的目标对象标识符经过本地管理信息库翻译后的内容。 |
| 采集的目标对象标识符。 |
| 对采集结果进行转换的类型。
|
| 采集结果的类型。 |
| 采集内容。 |