Home  >  Article  >  Database  >  Nagios监控MySQL主从状态的简单脚本

Nagios监控MySQL主从状态的简单脚本

WBOY
WBOYOriginal
2016-06-07 17:23:56880browse

使用nagios监控mysql主从,在监控主机上需要安装nrpe软件包以及nagios软件包,安装步骤就不多说了,下面进入正题

使用nagios监控mysql主从,在监控主机上需要安装nrpe软件包以及nagios软件包,,安装步骤就不多说了,下面进入正题
 
在监控主机上:
 
首先定义主机:
 
vim /usr/local/nagios/etc/objects/localhost.cfg       
define host {
        host_name                    joker
        alias                              test
        address                        192.168.xx.xx
        check_command          check-host-alive
        notification_options      d,u,r
        check_interval                1
        max_check_attempts      2
        contact_groups                admins
        notification_interval  10
        notification_period    24x7
 }
 
定义服务:
 
define service {
        host_name          joker
        service_description    nrpe
        check_period        24x7
        normal_check_interval  2
        retry_check_interval    1
        max_check_attempts      5
        notification_period    24x7
        notification_options    w,u,c,r
        check_command      check_nrpe!check_mysql
 }
 
定义command:
 
define command {
        command_name    check_nrpe
        command_line    /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
 }
 
在被监控主机上:
 
安装nrpe
 tar fvxz nrpe*.tar.gz
 ./configure --prefix=/usr/local/nagios
 useradd nagios
 make all
 make install
 make install-daemon
 make install-daemon-config
 make install-xinetd
 
scp /usr/local/nagios/libexec/check_nrpe  root@192.168.18.105:/usr/local/nagios/libexec
 
vim /etc/xinetd.d/nrpe
 service nrpe
 {
        flags          = REUSE
        socket_type    = stream   
        port            = 5666   
        wait            = no
        user            = nagios
        group          = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args    = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable        = no
        only_from      = 192.168.18.105 
}
 vim /etc/services
 
在最后添加nrpe 5666/tcp
 service xinetd restart
 
vim /usri/local/nagios/etc/nrpe.cfg
 command[check_mysql]=/usr/local/nagios/libexec/check_mysql
 
vim /usr/local/nagios/libexec/check_mysql
 #!/bin/bash
 master=`mysql -h 192.168.18.165 -u hello -p123 -e 'show master status' &> /tmp/123 | awk 'NR==2{print $2}' /tmp/123`
 slave=`mysql -e 'show slave status' &> /tmp/234 | awk =F: '{if($1~/Exec/)print $2}' /tmp/234`
 if [ $master -eq $slave ]; then
    echo "ok"
    rm -fr /tmp/123
    rm -fr /tmp/234
    exit 0
 else
    echo "error"
    mv /tmp/123 /tmp/err1
    mv /tmp/234 /tmp/err2
    exit 2
 
最后进行测试,本人亲测OK~~~

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn