1

我试图设置 mrtg 来探测我的 snmp 代理。snmp 代理已使用 v3 用户/通行证身份验证进行设置,并且工作正常。

但是,如果我尝试使用以下命令为 mrtg 创建一个配置文件:

sudo cfgmaker --global 'WorkDir: /var/www/mrtg' --output /etc/mrtg/mrtg.cfg \
    <IPADRESS>:2161::::3 --username=<USER> --authprotocol=md5 --authpassword=<PASSWORD>

我收到以下错误:

使用 --authpassword 需要在 /usr/bin/cfgmaker 第 1531 行使用 --contextengineid。

当我为 SNMP v2(带有社区字符串)生成文件时,它就可以了。

如何获取制作 cfg 文件所需的 snmp 代理的 contextengineid?

4

2 回答 2

1

我已经在 CentOS 7 服务器和 Fedora 20 工作站上成功使用了它:

  1. 找到上下文引擎 ID,位置会有所不同:

    grep oldEngineID /var/lib/net-snmp/snmpd.conf
    
  2. 将以下行添加到您的configmaker源文件中;0x是必须的:

    --contextengineid=0x<whatever number you got from number 1>
    

如果这是交换机、路由器或 Windows 设备,您的引擎 ID 位置肯定会有所不同。请参阅制造商的操作手册。

于 2014-12-15T18:42:43.473 回答
0

您还可以从命令行 snmptools 查询 engineID: snmpwalk -v3 -l auth -a md5 -A '' hostname snmpEngineID

于 2020-06-05T13:46:10.977 回答