返回列表 发帖

Zabbix5.0.12_使用模板监控MySQL主从同步状态

笺注:这是在 MySQL5.6主从/主主同步 的基础上进行的。

笺注:使用以下方法,被监控主机不用安装zabbix-agent


从服务器配置MySQL数据库:( 使用数据库管理员root@localhost )
[root@mysql-2 ~]# mysql -u"root" -p"888" -h"localhost"
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.6.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

注释:
-h"localhost" 是可以省略的;


查看当前登录的数据库用户:
mysql> Select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql>



再授权数据库用户zhuohua@'%'(数据库用户可以不要密码的),可以从任意IP进行访问,对所有的库有完全控制的权限:
mysql> grant all on *.* to zhuohua@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>


查看远程数据库用户zhuohua@'%'的权限:
mysql> Show grants for zhuohua@'%';
+----------------------------------------------+
| Grants for zhuohua@%                         |
+----------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'zhuohua'@'%' |
+----------------------------------------------+
1 row in set (0.00 sec)

mysql>


查看数据库用户zhuohua@'%'的主机信息:
mysql> select user,host from mysql.user where user='zhuohua';
+---------+------+
| user    | host |
+---------+------+
| zhuohua | %    |
+---------+------+
1 row in set (0.00 sec)

mysql>



使用数据库用户zhuohua@'%'在从服务器进行本地登录:
[root@mysql-2 ~]# mysql -u"zhuohua"
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


查看当前登录的数据库用户:
mysql> Select user();
+-------------------+
| user()            |
+-------------------+
| zhuohua@localhost |
+-------------------+
1 row in set (0.00 sec)

mysql>


显示所有的库:(数据库用户zhuohua@'%'在服务器本地的权限不是很多)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.08 sec)

mysql>

查看主从同步情况:(数据库用户zhuohua@'%'在服务器本地的权限不是很多)
mysql> show slave status;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation
mysql>



############

监控原理:从服务器的状态中,以下两项(Slave_IO_Running、Slave_SQL_Running)的返回值都必须为Yes

在从服务器本地进行测试:( 使用数据库管理员root@localhost )
[root@mysql-2 ~]# mysql -u"root" -p"888" -h"localhost" -sNX -e "show slave status"
Warning: Using a password on the command line interface can be insecure.
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State">Waiting for master to send event</field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">Yes</field>
        <field name="Slave_SQL_Running">Yes</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master">0</field>
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State">Slave has read all relay log; waiting for the slave I/O thread to update it</field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@mysql-2 ~]#

注释:Seconds_Behind_Master是衡量Master与Slave之间主从同步延迟情况的一个重要参数,返回值为0时,表示没有延迟。


在Zabbix服务器上测试:( 使用数据库用户zhuohua@'%' )
[root@centos8 ~]# mysql -u"zhuohua" -h"192.168.168.131" -sNX -e "show slave status;"
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State">Waiting for master to send event</field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">Yes</field>
        <field name="Slave_SQL_Running">Yes</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master">0</field>
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State">Slave has read all relay log; waiting for the slave I/O thread to update it</field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@centos8 ~]#

注释:从服务器的IP地址为 192.168.168.131





#############
#############

修改Zabbix服务器的Agent配置文件:
[root@centos8 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf

# UnsafeUserParameters=0
修改为:(启用该功能)
UnsafeUserParameters=1

接着插入:
  1. UserParameter=mysql.ping[*], mysqladmin -u"zhuohua" -h"$1" -P"$2" ping
  2. UserParameter=mysql.get_status_variables[*], mysql -u"zhuohua" -h"$1" -P"$2" -sNX -e "show global status"
  3. UserParameter=mysql.version[*], mysqladmin -u"zhuohua" -s -h"$1" -P"$2" version
  4. UserParameter=mysql.db.discovery[*], mysql -u"zhuohua" -h"$1" -P"$2" -sN -e "show databases"
  5. UserParameter=mysql.dbsize[*], mysql -u"zhuohua" -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
  6. UserParameter=mysql.replication.discovery[*], mysql -u"zhuohua" -h"$1" -P"$2" -sNX -e "show slave status"
  7. UserParameter=mysql.slave_status[*], mysql -u"zhuohua" -h"$1" -P"$2" -sNX -e "show slave status"
复制代码


保存好配置文件后,重启一下Zabbix本机的客户端和服务端:
pkill -9 -U zabbix
/usr/local/zabbix/sbin/zabbix_agentd
/usr/local/zabbix/sbin/zabbix_server



######

在Zabbix服务器测试,验证能否获取本机(127.0.0.1)的键值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p10050 -k "net.tcp.listen[10050]"
1
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k "net.tcp.listen[10050]"
1
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k net.tcp.listen[10050]
1
[root@centos8 ~]#


测试模板中,关于主从同步情况的键值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.slave_status["192.168.168.131","3306"]
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State">Waiting for master to send event</field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">Yes</field>
        <field name="Slave_SQL_Running">Yes</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master">0</field>
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State">Slave has read all relay log; waiting for the slave I/O thread to update it</field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@centos8 ~]#


[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.replication.discovery["192.168.168.131","3306"]
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State">Waiting for master to send event</field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">Yes</field>
        <field name="Slave_SQL_Running">Yes</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master">0</field>
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State">Slave has read all relay log; waiting for the slave I/O thread to update it</field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@centos8 ~]#

注释:从服务器的IP地址为 192.168.168.131





##################Zabbix添加被监控主机:

配置》主机》创建主机: (主机名称无需与被监控主机的真实主机名一致;群组可以随便选;Interfaces的类型选择“客户端”;端口为10050)
图片1.png
2022-9-9 18:37

IP地址: 127.0.0.1 (同一台主机可以被重复添加,只要主机名称不一样即可)

页面太长,紧接的是下半部分:
图片2.png
2022-9-9 18:37



主机MySQL_Slave_2创建成功:
图片3.png
2022-9-9 18:39



给主机MySQL_Slave_2添加模板:( Template DB MySQL  )
图片4.png
2022-9-9 18:39

注释:模板Template DB MySQL 是Zabbix自带的。


模板添加成功:
图片5.png
2022-9-9 18:40



主机MySQL_Slave_2会继承模板Template DB MySQL的宏:
图片6.png
2022-9-9 18:40

修改为:( 从服务器的IP地址为 192.168.168.131
图片7.png
2022-9-9 18:40

备注:其他地方保持默认,点击底下的“更新”按键。



模板Template DB MySQL 自带的自动发现规则:
图片8.png
2022-9-9 18:41



点击“Execute now”:
图片9.png
2022-9-9 18:41



会根据被监控主机的实际情况,自动发现一些监控项、触发器等:
图片10.png
2022-9-9 18:41




######

查看模板Template DB MySQL自带图形:(要等一段时间才会出现)

监测》主机》左击主机名称MySQL_Slave_2》图形:
图片11.png
2022-9-9 18:42



MySQL connections:
图片12.png
2022-9-9 18:42


图片13.png
2022-9-9 18:42



MySQL bandwidth:
图片14.png
2022-9-9 18:43


图片15.png
2022-9-9 18:43



MySQL operations:
图片16.png
2022-9-9 18:43


图片17.png
2022-9-9 18:43



MySQL InnoDB buffer pool:
图片18.png
2022-9-9 18:44


图片19.png
2022-9-9 18:44



MySQL queries:
图片20.png
2022-9-9 18:44


图片21.png
2022-9-9 18:44



MySQL threads:
图片22.png
2022-9-9 18:45


图片23.png
2022-9-9 18:45






######

模板Template DB MySQL 自动发现的监控项:
监控项名称: Replication: Slave IO Running 192.168.168.130
键值: mysql.slave_io_running["192.168.168.130"]
图片24.png
2022-9-9 18:45



模板Template DB MySQL 自动发现的触发器:(触发器的表达式要用到监控项中的键值)
触发器名称: MySQL: The slave I/O thread is not running
表达式: {MySQL_Slave_2:mysql.slave_io_running["192.168.168.130"].count(#1,"No",eq)}=1
图片25.png
2022-9-9 18:46




测试触发器“MySQL: The slave I/O thread is not running”:

在从服务器上关闭同步:
stop slave;
图片26.png
2022-9-9 18:47



在从服务器上本地测试:( 使用数据库管理员root@localhost )
[root@mysql-2 ~]# mysql -u"root" -p"888" -sNX -e "show slave status;"
Warning: Using a password on the command line interface can be insecure.
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State"></field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">No</field>
        <field name="Slave_SQL_Running">No</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master" xsi:nil="true" />
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State"></field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@mysql-2 ~]#


在Zabbix服务器上测试:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.slave_status["192.168.168.131","3306"]
<?xml version="1.0"?>

<resultset statement="show slave status
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
        <field name="Slave_IO_State"></field>
        <field name="Master_Host">192.168.168.130</field>
        <field name="Master_User">happy</field>
        <field name="Master_Port">3306</field>
        <field name="Connect_Retry">60</field>
        <field name="Master_Log_File">binlog.000001</field>
        <field name="Read_Master_Log_Pos">454</field>
        <field name="Relay_Log_File">mysqld-relay-bin.000002</field>
        <field name="Relay_Log_Pos">401</field>
        <field name="Relay_Master_Log_File">binlog.000001</field>
        <field name="Slave_IO_Running">No</field>
        <field name="Slave_SQL_Running">No</field>
        <field name="Replicate_Do_DB"></field>
        <field name="Replicate_Ignore_DB"></field>
        <field name="Replicate_Do_Table"></field>
        <field name="Replicate_Ignore_Table"></field>
        <field name="Replicate_Wild_Do_Table"></field>
        <field name="Replicate_Wild_Ignore_Table"></field>
        <field name="Last_Errno">0</field>
        <field name="Last_Error"></field>
        <field name="Skip_Counter">0</field>
        <field name="Exec_Master_Log_Pos">454</field>
        <field name="Relay_Log_Space">575</field>
        <field name="Until_Condition">None</field>
        <field name="Until_Log_File"></field>
        <field name="Until_Log_Pos">0</field>
        <field name="Master_SSL_Allowed">No</field>
        <field name="Master_SSL_CA_File"></field>
        <field name="Master_SSL_CA_Path"></field>
        <field name="Master_SSL_Cert"></field>
        <field name="Master_SSL_Cipher"></field>
        <field name="Master_SSL_Key"></field>
        <field name="Seconds_Behind_Master" xsi:nil="true" />
        <field name="Master_SSL_Verify_Server_Cert">No</field>
        <field name="Last_IO_Errno">0</field>
        <field name="Last_IO_Error"></field>
        <field name="Last_SQL_Errno">0</field>
        <field name="Last_SQL_Error"></field>
        <field name="Replicate_Ignore_Server_Ids"></field>
        <field name="Master_Server_Id">1</field>
        <field name="Master_UUID">5bb1908b-7fcc-11e8-9ee0-000c292b173a</field>
        <field name="Master_Info_File">/var/lib/mysql/master.info</field>
        <field name="SQL_Delay">0</field>
        <field name="SQL_Remaining_Delay" xsi:nil="true" />
        <field name="Slave_SQL_Running_State"></field>
        <field name="Master_Retry_Count">86400</field>
        <field name="Master_Bind"></field>
        <field name="Last_IO_Error_Timestamp"></field>
        <field name="Last_SQL_Error_Timestamp"></field>
        <field name="Master_SSL_Crl"></field>
        <field name="Master_SSL_Crlpath"></field>
        <field name="Retrieved_Gtid_Set"></field>
        <field name="Executed_Gtid_Set"></field>
        <field name="Auto_Position">0</field>
  </row>
</resultset>
[root@centos8 ~]#



在从服务器上关闭同步后,仪表板会如下图显示:(显示对应触发器的名称)
MySQL: The slave I/O thread is not running
图片27.png
2022-9-9 18:49


图片28.png
2022-9-9 18:49




在从服务器上开启同步:
start slave;
图片29.png
2022-9-9 18:50



在从服务器上开启同步后,仪表板的告警自动消失:
图片30.png
2022-9-9 18:50






相关文章:
使用SQLyog远程管理MySQL
Zabbix使用模板监控MySQL主从同步状态

Zabbix5.0.12_调用Python3脚本监控Linux下的MySQL

返回列表