CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/收集 SNMP 协议机器信息
文档目录
概览版本管理
什么是输入插件
脚本执行数据【Debug】文本日志【示例】MetricInput主机Meta数据【Debug】Mock数据-Metric主机监控数据MySQL Binlog容器标准输出GO ProfileGPU数据HTTP数据【示例】ServiceInputJournal数据KafkaKubernetes元信息采集【Debug】Mock数据-ServiceSqlServer 查询数据OTLP数据PostgreSQL 查询数据收集 SNMP 协议机器信息Syslog数据

LoongCollector

收集 SNMP 协议机器信息

servicesnmp插件支持 SNMP V1,V2,V3。可以转化用户输入并对指定 ip 的机器执行 SNMP-GET 指令获取机器信息。 运行本插件需要本地已运行 snmp 程序,开放snmpget需要的端口,且可正常执行snmptranslate命令和snmptable命令。 Stable 推荐版本:iLogtail v1.0.27 及以上 | 参数 ...

收集 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 协议版本,可以填写1,2,3,默认为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 并一起查询,默认为空

配置文件及结果示例

插件设置示例一

  • 采集配置(可与其它采集配置字段组合使用)
enable: true
inputs:
  - Type: service_snmp
    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"
flushers:
  - Type: flusher_stdout
    OnlyStdout: true

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

采集结果(每行一条事件的 NDJSON 与下列 JSON 数组等价):

{
    "_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"
}

采集字段含义:

字段 说明
_target_ 目标收集的机器 ip
_targetindex_ 目标收集的机器在本插件所有目标机器组中的排序。本例中仅有一个目标机器127.0.0.1因此本项恒为 0
_field_ 目标收集的 Oid 经过本地 MIB 翻译后的内容
_oid_ 目标收集的 Oid
_conversion_ 收集结果进行了哪种类型转换,目前支持"ipaddr"和"hwaddr"两种,分别会对 ip 地址和设备地址进行转换。若为空则未发生类型转换
_type_ 收集到的结果的类型
_content_ 收集到的结果的内容

插件设置示例二

  • 采集配置(SNMPv3)
enable: true
inputs:
  - Type: service_snmp
    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
flushers:
  - Type: flusher_stdout
    OnlyStdout: true

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

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

net-snmp-create-v3-user -ro -A SecUREDpass -a SHA -X StRongPASS -x AES snmpreadonly

采集结果:

{
    "_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"
}

文章大纲