我们最近用 2.5TB 的阵列升级了我们的一台 MYSQL 机器。
这样做之后,OpenNMS 停止报告有关我们的 mysql 数据分区的信息......
当我做一个:
snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9
我在 /var/log/messages 中得到了这个
Aug 3 16:44:11 mysql6 snmpd[8789]: Connection from UDP: [127.0.0.1]:47333
Aug 3 16:44:11 mysql6 snmpd[8789]: truncating signed value to 32 bits (10)
Aug 3 16:44:11 mysql6 snmpd[8789]: truncating signed value to 32 bits (10)
当我从 snmpd.conf 中删除分区时,我没有收到任何通知......并且其余的资源数据填充在 OpenNMS 中。
从我的谷歌搜索来看,这似乎是一个常见问题,但我找不到任何解决方案。
有人知道解决方法吗?
我在另一个平台上遇到了这个问题。我发现的是你的日志告诉你的,它返回的值超过了有符号的 32 位整数最大值。特定的 SNMP 守护程序返回负数,这就是我发现它是有符号/无符号 Int 问题的方式。在我的脚本中,我进行了数学运算,将有符号整数转换为无符号整数,这将使我能够监控高达 4TB 的特定卷。在这一点上,我几乎不走运。
至于解决方法……听起来它不会让您获得原始值,因此您可能必须编写一个脚本,该脚本将在查询特定 OID 时执行。此脚本将返回卷的 KB 值,而不是 B 值。在达到最大值之前,它应该可以让你达到 16TB。
在您的 snmpd.conf 文件中,输入类似这样的内容(我从一些 vmware 注释中抄袭,因此您使用的 OID 应该是其他内容):
然后,当您查询该 OID 时,您将获得一个适合 32 位整数的值。当然,您必须编写该脚本。它应该只返回一个整数。
这不是一个真正的答案,但它对于评论来说太大了。
我没有问题。我不确定 snmpd 是否编译为 64 位。不过,我很乐意做您喜欢的任何(非侵入性)检查。