system: Unknown Object Identifier (Sub-id not found: (top) -> system) 处理

本文介绍如何使用Git克隆并安装SNMP MIBs下载器,包括配置文件的调整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

You need git to download it:
1.
cd /tmp
git clone git://git.debian.org/collab-maint/snmp-mibs-downloader.git
cd snmp-mibs-downloader
dpkg-buildpackage -us -uc
sudo download-mibs

2.
Please hav a look at /etc/snmp/snmp.conf and remove the line "mibs :".
<think>我们有两个问题需要解决:1.Zabbix安装过程中出现的Net-SNMP配置错误:configure:error:InvalidNet-SNMPdirectory-unabletofindnet-snmp-config2.安装后使用snmpget命令测试时出现:snmpget:UnknownObjectIdentifier(sysDescr.0)解决方案分两部分:第一部分:解决Net-SNMP配置错误此错误是因为缺少Net-SNMP开发包,或者开发包安装后net-snmp-config脚本不在PATH中。步骤:1.安装Net-SNMP开发包(根据发行版选择命令):-RedHat/CentOS:`sudoyuminstallnet-snmp-devel`-Debian/Ubuntu:`sudoapt-getinstalllibsnmp-devsnmp`-openSUSE:`sudozypperinstallnet-snmp-devel`2.验证net-snmp-config是否安装成功:```bashwhichnet-snmp-config```如果返回路径(如/usr/bin/net-snmp-config),则说明安装成功。3.如果安装后仍然找不到,可能是路径不在环境变量中。可以尝试:```bashexportPATH=$PATH:/path/to/net-snmp/bin#替换为实际路径```或者,在配置Zabbix时显式指定路径:```bash./configure--with-net-snmp=/usr#或者net-snmp安装的根目录```4.重新运行Zabbix的configure脚本。第二部分:解决snmpget命令无法识别sysDescr.0的问题这个错误通常是因为MIB库没有正确加载或找不到对应的OID定义。步骤:1.安装完整的SNMPMIB包(有些系统默认不安装MIB文件):-RedHat/CentOS:`sudoyuminstallnet-snmp-mibs`-Debian/Ubuntu:`sudoapt-getinstallsnmp-mibs-downloader`2.配置SNMP使用MIB:编辑`/etc/snmp/snmp.conf`,确保以下行被注释掉(即不禁止加载MIB):```conf#mibs:```或者明确指定要加载的MIB:```confmibs+ALL```3.设置环境变量(可选):```bashexportMIBS=ALL```4.验证sysDescr.0是否可识别:```bashsnmptranslate-OnsysDescr.0```应该返回:.1.3.6.1.2.1.1.1.05.再次运行snmpget命令:```bashsnmpget-v2c-cpubliclocalhostsysDescr.0```或者使用OID:```bashsnmpget-v2c-cpubliclocalhost.1.3.6.1.2.1.1.1.0```6.如果仍然无法识别,检查MIB文件是否在标准路径:-通常MIB文件在`/usr/share/snmp/mibs/`-确保该目录存在且包含MIB文件(如SNMPv2-MIB等)7.如果MIB文件不在标准路径,可以通过环境变量指定:```bashexportMIBDIRS=/path/to/your/mibs```8.重启snmpd服务(如果需要):```bashsudosystemctlrestartsnmpd```注意:第二个问题可能独立于第一个问题。即使Zabbix编译成功,snmpget命令也可能因为MIB配置问题而失败。总结:-安装开发包解决编译问题-安装MIB包并正确配置以解决OID识别问题相关问题:1.Zabbix如何配置SNMP监控项?2.如何测试SNMP服务是否正常工作?3.在Zabbix中如何自定义SNMPOID监控?4.如何解决snmpwalk命令无法识别OID的问题?</think>### 解决 Zabbix 7.2.7 Net-SNMP 配置错误与 SNMP OID 识别问题 #### 问题 1:`configure: error: Invalid Net-SNMP directory` 解决方案 此错误表示缺少 Net-SNMP 开发组件,需安装开发包: 1. **安装 Net-SNMP 开发包**: ```bash # RHEL/CentOS sudo yum install net-snmp-devel net-snmp-utils # Debian/Ubuntu sudo apt-get install libsnmp-dev snmp snmp-mibs-downloader # openSUSE sudo zypper install net-snmp-devel net-snmp ``` 2. **验证关键文件存在**: ```bash ls /usr/bin/net-snmp-config # 配置工具 ls /usr/include/net-snmp/ # 头文件目录 ``` 3. **重新配置 Zabbix**: ```bash ./configure --with-net-snmp \ --enable-server \ --enable-agent ``` #### 问题 2:`snmpget: Unknown Object Identifier (sysDescr.0)` 解决方案 此错误表示 SNMP MIB 库未正确加载: 1. **启用所有 MIB 库**: 编辑 `/etc/snmp/snmp.conf`: ```ini # 注释掉 mibs : 行 # mibs : ``` 2. **下载缺失的 MIB 库**: ```bash sudo download-mibs # Debian/Ubuntu sudo yum install net-snmp-mibs # RHEL/CentOS ``` 3. **验证 OID 识别**: ```bash snmptranslate -On sysDescr.0 # 应返回 .1.3.6.1.2.1.1.1.0 ``` 4. **测试 SNMP 查询**: ```bash # 使用 OID 格式 snmpget -v2c -c public localhost .1.3.6.1.2.1.1.1.0 # 或设置环境变量 export MIBS=ALL snmpget -v2c -c public localhost sysDescr.0 ``` #### 完整工作流验证 ```bash # 安装依赖后重新编译 cd zabbix-7.2.7 ./configure --with-net-snmp make && sudo make install # 测试 SNMP 功能 snmpget -v 2c -c public 127.0.0.1 sysDescr.0 ``` 应返回类似结果: ``` SNMPv2-MIB::sysDescr.0 = STRING: Linux server 5.4.0-xx-generic #xx SMP ... ``` > **关键原理**: > - `net-snmp-devel` 提供编译所需的头文件和 `net-snmp-config` 工具 > - MIB 库将可读名称(如 `sysDescr.0`)映射为数字 OID(`.1.3.6.1.2.1.1.1.0`)[^1] > - `download-mibs` 命令获取标准 MIB 定义文件(包括 `SNMPv2-MIB`) --- ### 相关问题 1. 如何在 Zabbix 中配置 SNMPv3 认证? 2. Zabbix 无法获取 SNMP 数据时如何调试? 3. 如何自定义 Zabbix 的 SNMP OID 监控项? 4. 生产环境中 SNMP 社区字符串(community string)的安全管理策略有哪些? 5. Zabbix SNMP 监控返回 "Unsupported item key" 错误如何解决? [^1]: Net-SNMP MIB 库工作原理:https://net-snmp.sourceforge.io/docs/manual/mibs.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值