本文介紹如何使用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地址。 |
| 目標機器在本插件機器組中的排序。 本文的示例中僅有一個目標機器 |
| 采集的目標對象標識符經過本地管理信息庫翻譯后的內容。 |
| 采集的目標對象標識符。 |
| 對采集結果進行轉換的類型。
|
| 采集結果的類型。 |
| 采集內容。 |