欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

监控服务zabbix数据库监控配置详解

程序员文章站 2022-03-27 21:45:31
环境:主机名IP服务服务端node1192.168.207.129zabbix_server,zabbix_agentd客户端node2192.168.207.130zabbix_agent,mariadb客户端node3192.168.207.131zabbix_agent,mariadb开始下面的操作前,需要你的zabbix服务端和客户端已经配置完成,并且能够访问web界面,如果还没有配置可以参照文章《监控服务Zabbix介绍与部署》配置...

环境:

主机名 IP 服务
服务端 node1 192.168.207.129 zabbix_server,zabbix_agentd
客户端 node2 192.168.207.130 zabbix_agent,mariadb
客户端 node3 192.168.207.131 zabbix_agent,mariadb

开始下面的操作前,需要你的zabbix服务端和客户端已经配置完成,并且能够访问web界面,如果还没有配置可以参照文章《监控服务Zabbix介绍与部署》


配置监控数据库主从


1. 客户端安装并配置主从

//node2为主库,node3为从库
[root@node2 ~]# yum -y install mariadb*
[root@node3 ~]# yum -y install mariadb*
[root@node2 ~]# systemctl enable --now mariadb
[root@node3 ~]# systemctl enable --now mariadb

//在主库中创建一个同步账号给从库使用
[root@node2 ~]# mysql
MariaDB [(none)]> grant replication slave on *.* to 'repl'@'192.168.207.131' identified by 'repl123';
MariaDB [(none)]> flush privileges;

//配置主数据库
[root@node2 ~]# vim /etc/my.cnf[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
//添加下面两行内容
server-id = 10    //数据库服务器唯一标识符,主库的server-id值必须比从库的小
log-bin = mysql_bin    //启用binlog日志
[root@node2 ~]# systemctl restart mariadb

//查看主库状态
[root@node2 ~]# mysql
MariaDB [(none)]>  show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql_bin.000001 |      245 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> exit
Bye

配置从数据库
[root@node3 ~]# vim /etc/my.cnf
[root@node3 ~]# systemctl restart mariadb
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
//添加下面两行内容
server-id = 20    //数据库服务器唯一标识符
relay-log = myrelay_bin   //启用中继日志relay-log

//配置并启动主从复制
[root@node3 ~]# mysql -uroot -p123
MariaDB [(none)]> change master to
    -> master_host='192.168.207.130',
    -> master_user='repl',
    -> master_password='repl123',
    -> master_log_file='mysql_bin.000001',
    -> master_log_pos=245;
Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.207.130
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql_bin.000002
          Read_Master_Log_Pos: 245
               Relay_Log_File: myrelay_bin.000003
                Relay_Log_Pos: 529
        Relay_Master_Log_File: mysql_bin.000002
             Slave_IO_Running: Yes  //此行和下面一行必须是yes
            Slave_SQL_Running: Yes

2. 在从库编写脚本,取出需要监控资源的状态值

[root@node3 ~]# cd /scripts/
[root@node3 scripts]# vim MS.sh
#!/bin/bash
status=$(mysql -e 'show slave status\G' 2>/dev/null |grep 'Slave.*Running' |grep -c Yes)
if [ $status -ne 2 ];then
    echo '1'
else
    echo '0'
fi
[root@node3 scripts]# chmod +x MS.sh

3. 编辑配置文件

[root@node3 ~]# vim /usr/local/etc/zabbix_agentd.conf
...
# Default:
UnsafeUserParameters=1  //将此行取消注释,并将0改为1
...
# Default:
UserParameter=check_mysql,/bin/bash /scripts/MS.sh  //添加此行
[root@node3 ~]# pkill zabbix
[root@node3 ~]# zabbix_agentd

4. 在web界面配置监控项


监控服务zabbix数据库监控配置详解
监控服务zabbix数据库监控配置详解
监控服务zabbix数据库监控配置详解

5. 添加触发器


监控服务zabbix数据库监控配置详解
监控服务zabbix数据库监控配置详解
监控服务zabbix数据库监控配置详解
邮件告警我这里已经配过了,所以我们这里可以直接触发验证,看能否收到邮件,关于邮件告警的配置步骤可以参照文章《监控服务zabbix邮箱告警的三种配置方式》

6. 触发验证

//关闭主库
[root@node2 ~]# systemctl stop mariadb

监控服务zabbix数据库监控配置详解
查看邮箱
监控服务zabbix数据库监控配置详解


配置监控主从延迟


第一步配置主从和上面是一样的这里就不做演示了

1. 在从库编写脚本,取出需要监控资源的状态值

[root@node3 ~]# vim /scripts/delay.sh
#!/bin/bash
status=$(mysql -e 'show slave status\G' 2>/dev/null |grep 'Seconds_Behind_Master' |awk -F'[: ]+' '{print $3}')
echo $status
[root@node3 ~]# chmod +x /scripts/delay.sh

2. 编辑配置文件

[root@node3 ~]# vim /usr/local/etc/zabbix_agentd.conf
...
# Default:
UnsafeUserParameters=1  //将此行取消注释,并将0改为1
...
# Default:
UserParameter=check_delay,/bin/bash /scripts/delay.sh  //添加此行
[root@node3 ~]# pkill zabbix
[root@node3 ~]# zabbix_agentd

3. 在web界面配置监控项


监控服务zabbix数据库监控配置详解

4. 添加触发器


监控服务zabbix数据库监控配置详解

监控服务zabbix数据库监控配置详解

5. 触发验证


监控服务zabbix数据库监控配置详解

查看邮箱
监控服务zabbix数据库监控配置详解

本文地址:https://blog.csdn.net/qq_45948194/article/details/107480415

相关标签: 监控 zabbix