wangwengwu 发表于 2019-1-16 11:21:57

nagios监控web/mysql多角度实战分享(一)

  nagios监控web/mysql多角度深度实战部署过程分享(一)
  #########################################################
#《老男孩linux运维高薪就业培训中心》
#nagios监控课程课上上机考试:
#date:2011-07-17
#作者:老男孩---《老男孩linux就业培训中心 》
#QQ:31333741 MAIL:oldboy521@hotmail.com
#linux运维技术交流群:45039636   
#blog: http://oldboy.blog.运维网.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_namelinux-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 上传监控脚本到指定目录并设置执行授权可执行权限
# cd /usr/local/nagios/libexec/ #=====》上传check_url.sh到此目录
# chmod +x check_url.sh
  提示:check_url.sh脚本内容见下文
  ◇ 2.2 手动测试:
# /usr/local/nagios/libexec/check_url.sh
HTTP/1.1 OK
  3.修改nagios配置:
◇ 3.1 编辑service.cfg
# cd /usr/local/nagios/etc/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
# 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
# /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.
# /etc/init.d/nagios reload #==》reload好于restart
Running configuration check...done.
Reloading nagios configuration...done
  ◇ 3.4 查看页面监控结果
151_url-myselfOK 07-17-2011 15:19:49 0d 0h 3m 55s 1/3 HTTP/1.1 OK
  ======自主开发监控weburl的插件脚本======
  ◇ 4.1 写nagios插件前的几个变量测试
# cat oldboy.sh
echo $0
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
echo $PROGNAME
echo $PROGPATH
# sh /usr/local/nagios/etc/oldboy.sh
/usr/local/nagios/etc/oldboy.sh
oldboy.sh
/usr/local/nagios/etc
提示:大家看明白了么?
http://blog.运维网.com/attachment/201107/102844546.jpg
http://blog.运维网.com/attachment/201107/102902975.jpg
  
◇ 4.4 测试改进的脚本
# sh /usr/local/nagios/libexec/check_url.sh
Usage:
/bin/shcheck_url.sh url
For example:
/bin/sh check_url.sh http//www.etiantian.org
  # sh /usr/local/nagios/libexec/check_url.sh http://www.etiantian.org
HTTP/1.1 OK
# sh /usr/local/nagios/libexec/check_url.sh http://oldboy.blog.运维网.com
HTTP/1.1 OK

  nagios监控web/mysql多角度深度实战部署过程分享(一)完。
  请关注 nagios监控web/mysql多角度深度实战部署过程分享(二)




页: [1]
查看完整版本: nagios监控web/mysql多角度实战分享(一)