2016-12-07 98 views
1

我真的需要一个脚本的Nagios监控在远程主机上我有此命令的CPU使用率,但它不工作的Nagios监控check_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

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

您需要通过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_uptime,check_load
  • 现在您知道在远程端指定的命令,您可以使用这些命令作为Nagios方面的参数check_nrpe

希望这有助于!