溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nagios 監(jiān)控mysql主從復(fù)制

發(fā)布時(shí)間:2020-04-22 10:19:40 來(lái)源:網(wǎng)絡(luò) 閱讀:547 作者:ene007 欄目:移動(dòng)開發(fā)

檢測(cè)mysql 主從
一、先安裝 nrpe,這樣可以實(shí)現(xiàn)在遠(yuǎn)程主機(jī)上執(zhí)行命令
nagios主機(jī) 192.168.24.1
mysql主機(jī) 192.168.24.3
被監(jiān)控主機(jī)
安裝nrpe的server端
tar fvxz nrpe*.tar.gz
./configure --prefix=/usr/local/nagios
useradd nagios
make
make install-daemon
make install-daemon-config
make install-xinetd
make install
把插件拷貝給監(jiān)控主機(jī)nagios
scp /usr/local/nagios/libexec/check_nrpe   root@192.168.24.1ip:/usr/local/nagios/libexec
在被監(jiān)控主機(jī)開啟nrpe服務(wù)
vim /etc/xinetd.d/nrpe
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
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.24.1  #監(jiān)控主機(jī)的ip,保證他可以連接進(jìn)來(lái)!
}
vim /etc/services
nrpe 5666/tcp
service xinetd restart

在監(jiān)控主機(jī)上測(cè)試
[root@server1 objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.18.188
NRPE v2.12

在被監(jiān)控主機(jī)安裝插件

vim /usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_u]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

通過(guò)以上字段來(lái)定義命令,以及接收命令后執(zhí)行的插件,就是可以在遠(yuǎn)程主機(jī)上執(zhí)行的命令。

定義服務(wù),來(lái)檢測(cè)一下
define host {
        host_name       mysql-server
        alias           nrpe-server
        address         192.168.24.3
        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 command {
        command_name    check_nrpe
        command_line    /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

重啟nagios服務(wù)!

二、建立 MySQL檢測(cè)用戶

mysql> GRANT REPLICATION CLIENT ON *.* TO ztz@localhost identified by '123';
mysql> flush privileges;

編寫插件
被監(jiān)控主機(jī)上
vim /usr/local/nagios/libexec/check_slave
#!/bin/bash
MYSQLUSER=ztz
MYSQLPS=123
MYSQLBIN=/usr/bin/mysql
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_NUM=$($MYSQLBIN -u$MYSQLUSER -p$MYSQLPS -e "show slave status\G" | grep Running |
grep Yes | wc -l)
if [ $? -ne 0 ];then
echo "Please Check the Plugins"
exit $STATE_UNKNOWN fi
if [ "${STATE_NUM}" -eq 2 ];then echo "Check OK,MySQL Replication is running"
exit $STATE_OK
else echo "Check Critical,MySQL Replication is error"
exit $STATE_CRITICAL
fi

被監(jiān)控主機(jī)測(cè)試
[root@Nagiost ~]# cd /usr/local/nagios/libexec/
[root@Nagios-Client libexec]# chmod +x check_slave
[root@Nagios-Client libexec]# ./check_slave
Check OK,MySQL Replication is running
修改被監(jiān)控主機(jī)的 nrpe.confg
[root@Nagios-Client ~]# vi /usr/local/nagios/etc/nrpe.cfg
添加:
command[check_slave]=/usr/local/nagios/libexec/check_slave

修改監(jiān)控主機(jī)服務(wù)定義文件
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/localhost.cfg
添加: define service {
host_name  Nagios-Client 
service_description  check-slave 
check_period  24x7 
max_check_attempts  4 
normal_check_interval  3 
retry_check_interval  2  
notification_interval  10 
notification_period  24x7 
notification_options  w,u,c,r 
check_command  check_nrpe!check_slave 

3>重新加載 Nagios
[root@Nagios-Server ~]# /etc/init.d/nagios reload
Running configuration check...done.
Reloading nagios configuration...done
4>登陸驗(yàn)證

 

nagios 監(jiān)控mysql主從復(fù)制 

 

nagios 監(jiān)控mysql主從復(fù)制

三、設(shè)置短信報(bào)警
1 install
rpm -ivh /tmp/msmtp-1.4.6-1.el5.scopserv.i386.rpm

2 config
[187 tmp]#cd  /etc/
[187 tmp]#vim msmtprc 默認(rèn)是沒有這個(gè)文件
account default
host smtp.163.com
port 25
from 13810599111@163.com
tls off
auth login
user 13810599111
password 123
logfile /tmp/msmtp.log


3 mutt
vim /etc/Muttrc
2753 set sendmail="/usr/bin/msmtp"
2754 set from="13810599111@163.com"
2755 set realname="iori"
測(cè)試:
4 mutt+msmtp
echo "hello" |  mutt -s "test" 13810599111@163.com

修改一下mail的內(nèi)個(gè)就行了
5  nagios---command.cfg
define command{
        command_name    notify-by-sms
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }


define contact {
        contact_name  ydl
        alias           ydl
        host_notification_period        24x7
        host_notification_options       d,u,r
        service_notification_period     24x7
        service_notification_options    w,u,c,r
        service_notification_commands   notify-by-sms 
        host_notification_commands      notify-by-sms
        email   13810599111@163.com
}

 


 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI