我们在Linux上运行Nagios服务器,其中一台主机在Linux上运行。
当我尝试手动运行命令以使用SNMP获取交换空间的信息时,我得到输出,但它没有反映在仪表板上。
有人能帮助我吗?
供您参考,请查看手动运行命令的输出。
check_snmp_swap.pl -H IP Address -C public -m -w 80 -c 90
Swap Space: 0%used(26MB/95998MB) /data: 0%used(188MB/129704MB) Real
Memory: 16%used(10263MB/64444MB) /: 62%used(30070MB/48432MB) Memory
Buffers: 0%used(239MB/64444MB) (<80%) : OK
但是在仪表板中,我无法仅查看交换空间的状态,但我能够看到CPU和RAM的状态。
答案 0 :(得分:0)
检查check_snmp_swap的服务定义。确保该服务已注册,这意味着您在服务定义中设置了register 1
。
例如:
define service{
host_name check_snmp_swap
service_description check-swap
check_command check_snmp_swap!public!80!90
max_check_attempts 5
check_interval 5
retry_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins
register 1
}
同时检查check_snmp_swap的命令定义。确保将正确的社区字符串传递给命令 - 在本例中为public
。
修改强>
根据您在评论中发布的配置信息,我认为您对服务定义和服务模板定义感到困惑。
您好像发布了一个模板 - 作为模板,应该将register
值设置为0
以表明它是模板。
现在实际服务定义可以从服务模板继承一些设置。这样做的目的是使您不必在创建服务定义时反复重新输入相同的信息。 您可以通过在服务定义中明确定义这些设置来覆盖从服务模板继承的设置。
您应该创建一个如下所示的服务定义:
define service{
host_name check_snmp_swap
use generic-service
service_description check-swap
check_command check_snmp_swap
max_check_attempts 5
check_interval 10
retry_interval 2
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
register 1
}
然后重启你的nagios服务:
service nagios restart