叙述:需要的准备,nagios及nagios plugin的安装;shell脚本的编写;ssh自动登录配置;

  
1、nagios及nagios plugin的安装;(此处省略,网上教程比较多)

2、shell脚本的编写,脚本可以按照nagios的接口标准编写,这样可以是实现报警等状态,该脚本放到客户端路径下:以获取客户端用户数为例,超过3个则警告:

 

 
  
  1. #!/bin/sh 
  2.  
  3. STATE_OK=0 
  4. STATE_WARNING=1 
  5. STATE_CRITICAL=2 
  6. STATE_UNKOWN=3 
  7. STATUS=`/usr/bin/who | wc -l` 
  8.  
  9. if (($STATUS>=0 && $STATUS<4));then 
  10.     echo "Status OK-users -- $STATUS" 
  11.     exit $STATE_OK 
  12. elif (($STATUS > 3));then 
  13.     echo "Warning too many users -- $STATUS" 
  14.     exit $STATE_WARNING 
  15. else 
  16.     echo "Status Bad -- UNKOWN" 
  17.     exit $STATE_CRITICAL 
  18. fi 
 
  
  1. 以下脚本放到nagios服务端的路径下: 
  2. /usr/local/nagios/libexec/user_current.sh 
  3.  
  4. $! 实现参数传递,可接收客户端IP地址 
  5. #!/bin/sh 
  6. ssh -p 22 root@$1/root/current.sh    // 这里的/root/current.sh是客户端shell文件                                      // 的路径 
  7.  
  8. 注意好文件的权限  chown nagios.nagios /usr/local/nagios/libexec/user_current.sh 
  9.  
  10. 增加commands.cfg参数 
  11. define command{ 
  12.         command_name    user_current.sh 
  13.         command_line    $USER1$/user_current.sh $HOSTADDRESS$ 
  14.         } 
  15.  
  16. 增加service 
  17. define service{ 
  18.     use                  generic-service 
  19.     host_name            node02 
  20.     service_description  current_user 
  21.     check_command        user_current.sh 

3、ssh自动登录配置,记着通过nagios用户设置,要不然nagios端会返回 255 code错误

4、/etc/init.d/nagios restart  重启服务,查看监控条目。