当前位置: 首页 > news >正文

记一次snmp_exporter/generator生成yml报错问题修复

环境说明:

Ubuntu+snmp_exporter(版本0.28.0)中go build生成的generator程序,期望生成奇安信的yml文件给snmp exporter使用

        sudo apt install snmp-mibs-downloader

        sudo download-mibs

问题现象:

生成报错:

root@server:~/snmp_exporter/generator# ./generator generate  -m ./mibs2 -g source3.yml   -o QiAnXin.yml   --no-fail-on-parse-errors
time=2025-03-29T19:17:45.895Z level=INFO source=net_snmp.go:174 msg="Loading MIBs" from=./mibs2
time=2025-03-29T19:17:45.897Z level=WARN source=main.go:179 msg="NetSNMP reported parse error(s)" errors=427
time=2025-03-29T19:17:45.897Z level=ERROR source=main.go:185 msg="Missing MIB" mib=SNMPv2-SMI from="At line 20 in ./mibs2/QiAnXinNSG.mib"
time=2025-03-29T19:17:45.897Z level=ERROR source=main.go:185 msg="Missing MIB" mib=SNMPv2-TC from="At line 25 in ./mibs2/QiAnXinNSG.mib"
time=2025-03-29T19:17:45.897Z level=INFO source=main.go:57 msg="Generating config for module" module=Qianxin_firewall
time=2025-03-29T19:17:45.897Z level=ERROR source=main.go:141 msg="Error generating config netsnmp" err="cannot find oid '1.3.6.1.4.1.32328.6.1.4' to walk"

分析:

        报错内容msg="Missing MIB" mib=SNMPv2-SMI from="At line 20 in ./mibs2/QiAnXinNSG.mib",分析为QiAnXinNSG.mib文件引用了“SNMPv2-SMI”文件,但是缺失了
        报错内容msg="Missing MIB" mib=SNMPv2-TC from="At line 25 in ./mibs2/QiAnXinNSG.mib",分析为QiAnXinNSG.mib文件引用了“SNMPv2-TC”文件,但是缺失了

处理方案:

root@server:~/snmp_exporter/generator# find /  -name SNMPv2*  【查找出所需文件的路径】
root@server:~/snmp_exporter/generator# cp /var/lib/mibs/ietf/SNMPv2-TC mibs2
root@server:~/snmp_exporter/generator# cp /var/lib/mibs/ietf/SNMPv2-SMI mibs2

修复后效果:重新生成

root@server:~/snmp_exporter/generator# ./generator generate  -m ./mibs2 -g source3.yml   -o QiAnXin.yml   --no-fail-on-parse-errors
time=2025-03-29T19:18:23.857Z level=INFO source=net_snmp.go:174 msg="Loading MIBs" from=./mibs2
time=2025-03-29T19:18:23.860Z level=INFO source=main.go:57 msg="Generating config for module" module=Qianxin_firewall
time=2025-03-29T19:18:23.860Z level=INFO source=main.go:75 msg="Generated metrics" module=Qianxin_firewall metrics=2
time=2025-03-29T19:18:23.861Z level=INFO source=main.go:100 msg="Config written" file=/root/snmp_exporter/generator/QiAnXin.yml

最终生成效果如下:
root@server:~/snmp_exporter/generator# cat QiAnXin.yml 
# WARNING: This file was auto-generated using snmp_exporter generator, manual changes will be lost.
auths:
  public_v2:
    community: publicNSGSNMPComm
    security_level: noAuthNoPriv
    auth_protocol: MD5
    priv_protocol: DES
    version: 2
modules:
  Qianxin_firewall:
    get:
    - 1.3.6.1.4.1.32328.6.1.4.0
    - 1.3.6.1.4.1.32328.6.1.7.0
    metrics:
    - name: deviceSerial
      oid: 1.3.6.1.4.1.32328.6.1.4
      type: DisplayString
      help: The serial of device - 1.3.6.1.4.1.32328.6.1.4
    - name: softwareVersion
      oid: 1.3.6.1.4.1.32328.6.1.7
      type: DisplayString
      help: The software version of device - 1.3.6.1.4.1.32328.6.1.7

我的总结:

generator generate生成时,可以将目标mib文件单独放在1个文件夹(当如果生成时提示有缺失,可以将其他MIB文件复制到这个文件夹),并在generator generate 生成时指定这个文件夹

相关文章:

  • 【小兔鲜】day01 项目、Vue3介绍、组合式API、小案例
  • [python]minepy安装后测试代码
  • cpp栈操作
  • 计算机网络相关知识小结
  • 笔记 数字电路与计算机组成
  • 祥瑞金业:如果美股进入熊市,黄金会如何反应?
  • 基于Linux C++多线程服务器 + Qt上位机开发 + STM32 + 8266WIFI的智慧无人超市
  • .net GRPC服务搭建,跨进程调用。C#应用和Python应用之间的通信。
  • Chapter 9 Capacitive DC–DC Converters
  • 百度自动驾驶:我的学习笔记
  • Epub转PDF软件Calibre电子书管理软件
  • 3.3 元组
  • (四)队列族
  • Unity声音管理系统笔记
  • 【JavaScript】合体期功法——DOM(二)
  • Unidbg Trace 反 OLLVM 控制流平坦化(fla)
  • Linux命令-sed指令
  • notion访问慢notion卡顿怎么办,提升notion加载速度
  • Java全栈面试宝典:线程机制与Spring依赖注入深度解析
  • 图解AUTOSAR_SWS_TimeService