█ 问题1解答参考2:手工开发nagiosURL监控插件实操部署过程(主动监控方式)
2 nagios服务器端部署:
◇ 2.1 上传监控脚本到指定目录并设置执行授权可执行权限
[root@nagios-server /]# cd /usr/local/nagios/libexec/ #=====》上传check_url.sh到此目录
[root@nagios-server libexec]# chmod +x check_url.sh
提示:check_url.sh脚本内容见下文
◇ 2.2 手动测试:
[root@nagios-server libexec]# /usr/local/nagios/libexec/check_url.sh
HTTP/1.1 OK
3.修改nagios配置:
◇ 3.1 编辑service.cfg
[root@nagios-server libexec]# cd /usr/local/nagios/etc/objects
[root@nagios-server objects]# vi service.cfg
define service{
use generic-service
host_name 151-oldboytest
service_description 151_url-myself
check_command check_url
#check_command check_url! http://10.0.0.151 #===脚本改为传参后,service.cfg中的命令调用方法
max_check_attempts 3
normal_check_interval 1
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
process_perf_data 1
}
◇ 3.2 编辑commands.cfg
[root@nagios-server objects]# vi commands.cfg
# 'check_url' command definition by oldboy 110717
define command{
command_name check_url
command_line $USER1$/check_url.sh #===这里就是我们自己写的插件呦!初始没改进的脚本的部署
#command_line $USER1$/check_url.sh $ARG1$ #===这里是将脚本改为传URL参数的command.cfg中的部署:
}
◇ 3.3 检查语法,重起nagios
[root@nagios-server objects]# /etc/init.d/nagios checkconfig
#====》这个启动脚本是改过的,可以省取敲一堆字符检查语法的麻烦。
Running configuration check...
...省略部分内容...
Checking misc settings...
Total Warnings: 0 #==》警告不为0,可以忽略
Total Errors: 0 #==》这里为0就OK。
Things look okay - No serious problems were detected during the pre-flight check
OK.
[root@nagios-server objects]# /etc/init.d/nagios reload #==》reload好于restart
Running configuration check...done.
Reloading nagios configuration...done
◇ 3.4 查看页面监控结果
151_url-myself OK 07-17-2011 15:19:49 0d 0h 3m 55s 1/3 HTTP/1.1 OK
======自主开发监控weburl的插件脚本======
◇ 4.1 写nagios插件前的几个变量测试
[root@ha2 etc]# cat oldboy.sh
echo $0
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
echo $PROGNAME
echo $PROGPATH
[root@ha2 etc]# sh /usr/local/nagios/etc/oldboy.sh
/usr/local/nagios/etc/oldboy.sh
oldboy.sh
/usr/local/nagios/etc
提示:大家看明白了么?
◇ 4.4 测试改进的脚本
[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh
Usage:
/bin/sh check_url.sh url
For example:
/bin/sh check_url.sh http//www.etiantian.org
[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh http://www.etiantian.org
HTTP/1.1 OK
[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh http://oldboy.blog.运维网.com
HTTP/1.1 OK