我正在使用自定义脚本来检查物理内存。
https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3329&cf_id=24
(我添加了效果数据)
在本地运行:
/usr/lib64/nagios/plugins/check_custom_memory.sh
输出:
确定-30405 MB(96%)可用内存|总共= 31513MB已使用= 1108MB
当我使用以下命令从nagios服务器运行它时(出于安全原因隐藏了实际IP):
/usr/lib64/nagios/plugins/check_nrpe -t 60 -H xxx.xxx.xxx.xxx -c check_custom_memory.sh -a 10 5
输出:
关键-30405 MB(%)可用内存|总共= 31513MB已使用= 1108MB
似乎check_nrpe排除了%值。这仅在此服务器上发生,而不在我的其他服务器上发生。所有其他检查运行正常。对远程服务器的任何其他nrpe检查也可以正常工作。好像只是这个检查。它使我认为这是脚本,但它适用于其他服务器和本地服务器,所以我很茫然。
/ tmp / memcalc文件具有666权限,并由远程服务器上的nrpe拥有,我可以看到它的编写方式与在本地运行时应该的一样。使用check_nrpe运行时,不会访问或写入文件。
有什么想法吗?
答案 0 :(得分:0)
我相信我找到了问题。似乎与selinux的运行有关。通常我们不使用它,但是此服务器正在运行它。似乎停止了对写入/ tmp目录中创建的文件以计算可用内存百分比的访问。
结果。我只是重写了脚本,以不使用临时文件,而是使用简单的数学方法而不是准确的来计算百分比(这很好)。