叙述:需要的准备,nagios及nagios plugin的安装;shell脚本的编写;ssh自动登录配置;
1、nagios及nagios plugin的安装;(此处省略,网上教程比较多)
2、shell脚本的编写,脚本可以按照nagios的接口标准编写,这样可以是实现报警等状态,该脚本放到客户端路径下:以获取客户端用户数为例,超过3个则警告:
- #!/bin/sh
- STATE_OK=0
- STATE_WARNING=1
- STATE_CRITICAL=2
- STATE_UNKOWN=3
- STATUS=`/usr/bin/who | wc -l`
- if (($STATUS>=0 && $STATUS<4));then
- echo "Status OK-users -- $STATUS"
- exit $STATE_OK
- elif (($STATUS > 3));then
- echo "Warning too many users -- $STATUS"
- exit $STATE_WARNING
- else
- echo "Status Bad -- UNKOWN"
- exit $STATE_CRITICAL
- fi
- 以下脚本放到nagios服务端的路径下:
- /usr/local/nagios/libexec/user_current.sh
- $! 实现参数传递,可接收客户端IP地址
- #!/bin/sh
- ssh -p 22 root@$1/root/current.sh // 这里的/root/current.sh是客户端shell文件 // 的路径
- 注意好文件的权限 chown nagios.nagios /usr/local/nagios/libexec/user_current.sh
- 增加commands.cfg参数
- define command{
- command_name user_current.sh
- command_line $USER1$/user_current.sh $HOSTADDRESS$
- }
- 增加service
- define service{
- use generic-service
- host_name node02
- service_description current_user
- check_command user_current.sh
- }
3、ssh自动登录配置,记着通过nagios用户设置,要不然nagios端会返回 255 code错误
4、/etc/init.d/nagios restart 重启服务,查看监控条目。
转载于:https://blog.51cto.com/arster/831640