snmpd.conf 磁盘指令 dskIndex 顺序

snmpd.conf 磁盘指令 dskIndex 顺序

我正在尝试在我的 CentOS 主机上配置 snmpd 来监控可用磁盘使用量的百分比。

如果我将 snmpd.conf 设置为

disk /
disk /var

,可以使用以下方式查询值

1.3.6.1.4.1.2021.9.1.1.1对于“/”和

1.3.6.1.4.1.2021.9.1.1.2为“/var”。

我有几台服务器没有单独的“/var”分区。因此磁盘布局不标准化。我发现 snmpd.conf 中的磁盘语句顺序决定了 snmp 查询结果的 dskIndex 编号。因此,如果我翻转“/”和“/var”,“/”将具有 dskIndex2

在我的监控系统中,我必须为每台服务器分别配置每个 OID,因为它们可能不同。因此,我们的想法是为不存在的文件系统设置占位符。

是否可以使用占位符来人为地计算 dskIndex 或以某种方式在 snmpd.conf 中手动影响 dskIndex?

提前致谢

答案1

我不知道如何手动更改 dskIndex,但 snmpd 使用 snmpd.conf 文件中定义的顺序,因此它是可预测的。

如果您寻找其他解决方案,请阅读上述内容:
snmpd 提供有关磁盘索引的信息,如果您轮询 oid:1.3.6.1.2.1.25.2.3.1.3,系统将返回可用磁盘列表,例如:

$ snmpwalk -v 2c -c public 127.0.0.1 1.3.6.1.2.1.25.2.3.1.3
iso.3.6.1.2.1.25.2.3.1.3.1 = STRING: "Physical memory"
iso.3.6.1.2.1.25.2.3.1.3.3 = STRING: "Virtual memory"
iso.3.6.1.2.1.25.2.3.1.3.6 = STRING: "Memory buffers"
iso.3.6.1.2.1.25.2.3.1.3.7 = STRING: "Cached memory"
iso.3.6.1.2.1.25.2.3.1.3.8 = STRING: "Shared memory"
iso.3.6.1.2.1.25.2.3.1.3.10 = STRING: "Swap space"
iso.3.6.1.2.1.25.2.3.1.3.31 = STRING: "/"
iso.3.6.1.2.1.25.2.3.1.3.32 = STRING: "/sys/fs/fuse/connections"
iso.3.6.1.2.1.25.2.3.1.3.33 = STRING: "/dev"
iso.3.6.1.2.1.25.2.3.1.3.35 = STRING: "/media/KINGSTON"

最后一位数字是索引,因此您可以像这样请求 / 分区的大小:

snmpwalk-v 2c-c 公共 127.0.0.1 1.3.6.1.2.1.25.2.3.1.5。31
iso.3.6.1.2.1.25.2.3.1.5.31 = 整数:37458759

我不知道你使用哪种监控系统,但请阅读此脚本检查snmp_storage.pl,perl 脚本使用 SNMP 检索索引表并仅请求正确的 OID。它适用于 nagios,也许您可​​以将其改编为其他系统。

相关内容