Nagios监控check_cpu脚本

时间:2016-12-07 02:55:57

标签: monitoring nagios

我真的需要一个Nagios脚本来监控远程主机上的cpu使用情况我有这个命令但它不起作用

# 'check_cpu' command definition 
# w = Warning level (if CPU % idle falls below this level - must be a percentage) 
# c = Critical level

define command{ 
command_name check_cpu 
command_line $USER1$/check_cpu -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p $USER3$ 
}


vi  /etc/nagios/nrpe.cfg
command[check_uptime]=/usr/local/nagios/libexec/check_uptime

1 个答案:

答案 0 :(得分:1)

我在这里有点困惑。你的两个命令是无关的。

您需要通过NRPE检查远程主机上的cpu吗?首先,是否在远程主机上安装了NRPE?是否在Nagios服务器上安装了check_nrpe插件?

我要假设您在远程服务器上加载了NRPE(因为您在NRPE配置文件中列出了check_uptime命令)。这意味着您至少需要使用check_nrpe命令来获取所需的数据。

/etc/nagios/nrpe.cfg的远程主机上,应该有一些其他的命令,可能是这样的:

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

如果由于某种原因没有,你将需要做一些阅读。 This是一个很好的文档。

然后,在您的Nagios服务器上,您可以使用check_nrpe定义服务,如下所示:

define service {
    use generic-service
    host_name remotehost
    service_description CPU Load
    check_command check_nrpe!check_load
}

现在,通过快速而有希望地全面解释NRPE如何与Nagios协同工作来包装所有这些:

  • 您将主机定义为远程主机
  • 您需要在本地远程主机上运行检查,而不是抓取SNMP或使用check_ssh决定使用NRPE
  • 你需要一个插件,可以告诉远程主机以良好形式和文档化的方式做什么
  • 输入check_nrpe:check_nrpe通过NRPE与远程主机通信 ( HAS 要安装的地方)
  • 远程主机端有一些预定义的命令(您可以添加任意数量的命令!)check_uptimecheck_load
  • 等命令
  • 现在您已了解远程端指定的命令,您可以将这些命令用作Nagios端check_nrpe的参数

希望这有帮助!