| 关键词: nbsp check nagios command URL server service libexec 脚本 http |
问题1:请监控URL地址 http://10.0.0.151 (或配置host 10.0.0.151 www.etiantian.org,然后监控http://www.etiantian.org) █ 问题1解答参考1: ◇ 1.1在host.cfg中添加 define host{ use linux-server host_name 151-oldboytest alias 151-oldboytest address 10.0.0.151 process_perf_data 1 } # Define an optional hostgroup for Linux machines define hostgroup{ hostgroup_name linux-servers alias Linux Servers members ldap-master,151-oldboytest ============》这里增加个151-oldboytest,不同名字用逗号隔开。 } #graphic for hosts create by (oldboy)! define hostextinfo { host_name ldap-master,151-oldboytest ===》通过pnp出图link,就是页面太阳图标 action_url /nagios/pnp/index.php?host=$HOSTNAME$ } 提示:如果没配好PNP服务,上面的hostextinfo 段不需要配 ◇ 1.2 在commmand.cfg中添加 # 'check_weburl' command definition define command{ command_name check_weburl command_line $USER1$/check_http $ARG1$ -w 15 -c 30 } 提示:也可以不定义命令而直接使用带参数的check_http ◇ 1.3 在service.cfg中添加 define service{ use generic-service host_name 151-oldboytest service_description 151_url check_command check_weburl!-H 10.0.0.151 #check_command check_weburl!-H oldboy.cc -u /checkstatus.jsp #check_command check_http! -I 10.0.0.151 -w 15 -c 30 #check_command check_tcp!80 ===》这三行注释表示三种不同的方式监控配置方法。 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 } 提示:service段中的注释,提供了不同的监控思路方法,大家根据需求来选择使用。 █ 问题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 提示:大家看明白了么? 测试改进的脚本 [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.51cto.com HTTP/1.1 OK |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|