nagios监控web/mysql多角度深度实战部署过程分享(一)
#########################################################
#《老男孩linux运维高薪就业培训中心》
#nagios监控课程课上上机考试:
#date:2011-07-17
#作者:老男孩---《老男孩linux就业培训中心 》
#QQ:31333741 MAIL:[email protected]
#linux运维技术交流群:45039636
#blog: http://oldboy.blog.51cto.com
#psite: http://oldboy.cc(即将开放)
#pblog:http://blog.etiantian.org
##########################################################
《老男孩linux运维高薪就业培训中心》-nagios监控课程课上上机考试:
� � 问题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
提示:大家看明白了么?
◇ 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.51cto.com
HTTP/1.1 OK
nagios监控web/mysql多角度深度实战部署过程分享(一)完。
请关注 nagios监控web/mysql多角度深度实战部署过程分享(二)