设为首页 收藏本站
查看: 890|回复: 0

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

[复制链接]

尚未签到

发表于 2019-1-16 11:22:47 | 显示全部楼层 |阅读模式
  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监控课程课上上机考试:
  
█ █问题2:假如从nagios服务器可以通过命令 mysql -utest -ptest  -S /data/3306/mysql.sock -h 10.0.0.16 连接mysql服务
        1.请分别使用主动及被动方式监控mysql服务是否正常。
        2.请自行开发插件实现对MYSQL主动及被动的监控

  ##########################
██ 被动方式监控服务的配置方法
##########################
被动方式监控mysql服务的配置方法
  一、客户端client(被监控的mysql服务器):
  1.调试check_mysql命令
  █ 1.1 进入被监控的mysql服务器,登陆到mysql中,执行行下面命令建立测试帐号帐户供监控使用
[root@nagios-client objects]# mysql -uroot -p -S /data/3306/mysql.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.56-log Source distribution
  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  mysql> grant select on test.* to passivemonitor@'localhost' identified by 'oldboy123';
Query OK, 0 rows affected (0.02 sec)
  mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
提示:
1.用被动方式监测在授权时可以尽量的小。比如只给localhost.
2.有关mysql的grant命令请大家查阅mysql相关文档,或参考老男的相关数据库教案或文档
  █ 1.2进入nagios libexec插件目录,测试check_mysql插件。
[root@nagios-client etc]# /usr/local/nagios/libexec/check_mysql -upassivemonitor -p oldboy123 -s /data/3306/mysql.sock   
Uptime: 5594  Threads: 1  Questions: 422  Slow queries: 0  Opens: 11  Flush tables: 1  Open tables: 6  Queries per second avg: 0.075
  █ 1.3 编辑nrpe.cfg,在结尾加入如下内容:
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -upassivemonitor -p oldboy123 -s /data/3306/mysql.sock -H localhost
提示:这里这里假设你mysql服务客户端nrpe的已正确安装。
  █ 1.4 重起nrpe:
pkill nrpe && /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d && ps -ef|grep nrpe
  二、服务端nagios server的配置:
█ 2.1 在nagios中加入如下配置:
[root@nagios-server oldboy]# cat mysql_check.cfg
define service {
        use                             generic-service
        host_name                       151-oldboytest
        service_description             check_mysql-151
        check_command                   check_nrpe!check_mysql
        max_check_attempts      2
        normal_check_interval   4
        retry_check_interval    4
        check_period            24x7
        notification_interval   1200
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          admins
        process_perf_data       1
}
  █ 2.2 检查语法并重起nagios
/etc/init.d/nagios checkconfig #======》修改过的检查语法脚本,比敲一行检查语法命令,舒服多了
/etc/init.d/nagios reload
  █ 2.3 进入界面查看变化
check_mysql-151  OK 04-24-2011 16:34:05 0d 0h 0m 39s 1/2 Uptime: 998 Threads: 1 Questions: 14 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 6 Queries per second avg: 0.014
  
※提示:被动监控方式遇到问题判断及检查办法 首先可在[客户端]执行如下命令检查
  /usr/local/nagios/libexec/check_mysql -upassivemonitor -p oldboy123 -s /data/3306/mysql.sock
  如果没问题,再在nagios服务器端通过nrpe检查:
/usr/local/nagios/libexec/check_nrpe -H 10.0.0.151 -c check_mysql  
====》这里的check_mysql就是调用客户端的nrpe中的配置。10.0.0.151为客户端的IP
如果没有,那可能是服务端的配置不对等问题了。这样问题就能被最小化的定位了,排查起来就方便了。
  上面几行是本文的重点。
  例:
[root@nagios-server objects]# /usr/local/nagios/libexec/check_nrpe -H 172.16.1.35 -c check_load
OK - load average: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
  [root@nagios-server objects]# /usr/local/nagios/libexec/check_nrpe -H 10.0.0.163 -c check_disk
DISK OK - free space: / 4481 MB (62% inode=93%);| /=2681MB;6041;6947;0;7552
这是个从服务端以被动方式通过客户端nrpe的配置取负载及磁盘数据,这个命令很典型。
  ##########################
██主动方式监控服务的配置方法
##########################
主动方式监控MYSQL服务的配置方法
  提示:以下完全在nagios服务器端操作
  █ 1.首先来调试check_mysql命令
[root@nagios-server /]# cd /usr/local/nagios/libexec/
[root@ha1 libexec]# ./check_mysql -utest -ptest -s /data/3306/mysql.socket -H 10.0.0.16
Uptime: 4150  Threads: 1  Questions: 13  Slow queries: 0  Opens: 11  Flush tables: 1  Open tables: 6  Queries per second avg: 0.003
  提示:check_mysql具体用法可执行./check_mysql -h 查看
  █ 2.在命令行调试正确后,我们来编辑command.cfg,定义mysql服务检查命令
# 'check_mysql' command definition
define command{
        command_name    check_mysql #======》这个名称会在service.cfg中被调用。
        command_line    $USER1$/check_mysql -utest -ptest -s /data/3306/mysql.socket -H 10.0.0.16 #======》这里就是实际的操作命令了。
        }
  █ 3.编辑host.cfg配置文件,增加如下内容
# Define hosts
#written by oldboy
#qq 31333741
define host{
        use                     linux-server
        host_name               151-oldboymysql
        alias                   151-oldboymysql
        address                 10.0.0.16
        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-oldboymysql
        }
  #graphic for hosts create by (oldboy)!
define hostextinfo {
        host_name             ldap-master,151-oldboytest,151-oldboymysql
        action_url            /nagios/pnp/index.php?host=$HOSTNAME$ #======》主机增加太阳图标,即出图。
}
提示:如果没配好PNP服务,上面的hostextinfo 段不需要配
  
█ 4.编辑服务配置service.cfg
define service {
        use                             generic-service
        host_name                       151-oldboymysql    #======》这里使用host.cfg中定义的配置
        service_description             check_mysql
        check_command                   check_mysql  #======》这里是调用command.cfg中的check_mysql
        max_check_attempts      2
        normal_check_interval   4
        retry_check_interval    4
        check_period            24x7
        notification_interval   1440
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          admins
        process_perf_data       1
        action_url            /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
#======》监控mysql服务增加太阳图标,即出图。
}
  █ 5.检查语法并重起nagios
/etc/init.d/nagios checkconfig  #======》修改过的检查语法脚本,比敲一行检查语法命令,舒服多了
/etc/init.d/nagios reload
  █ 6.进入界面查看变化
151-oldboymysql check_mysql  OK 07-17-2011 11:16:22 0d 0h 9m 3s 1/2 Uptime: 4368 Threads: 1 Questions: 18 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 6 Queries per second avg: 0.004  
截图:
提示:如果没有check_mysql,可以从老师的安装包中找到,然后yum install mysql* -y 执行mysql相关包安装。
      如果还不行,那就需要重新安装nagios-plugin插件包。
  提示:主动方式遇到遇到问题判断及检查办法
[root@nagios-server libexec]# ./check_http -I 10.0.0.151 -w 15 -c 30
HTTP OK HTTP/1.1 200 OK - 266 bytes in 0.004 seconds |time=0.003504s;15.000000;30.000000;0.000000 size=266B;;;0
  [root@nagios-server libexec]# ./check_http -I www.baidu.com -w 15 -c 30
HTTP OK HTTP/1.1 200 OK - 8073 bytes in 0.112 seconds |time=0.111934s;15.000000;30.000000;0.000000 size=8073B;;;0
####################################################################################
  ##########################
██手工开发脚本监控mysql服务的配置方法
█ 1、check_mysql通用脚本如下
##########################
#!/bin/sh
############################################
#     this script function is :             #
#     check_mysql                             #
#     Create by oldboy 2011-07-17           #
#     mail:oldboy521@gmail.com qq:31333741  #
############################################
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
. $PROGPATH/utils.sh

  
█ 部署过程就不多费笔墨了,大家可以参考WEB手工开发插件的部分,
如果有不会的,告诉我,我以后补上。
nagios监控web/mysql多角度深度实战部署过程分享(二)完。
  请关注 nagios监控web/mysql多角度深度实战部署过程分享(三)





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663948-1-1.html 上篇帖子: nagios监控web/mysql多角度实战分享(一) 下篇帖子: nagios——短讯报警
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表