一文教你学会用Zabbix监控MySQL数据库

数据库 MySQL
MySQL相比于PG和MS SQL监控难度最小,因为比较成熟,而且使用广泛,自然监控手段就没那么复杂,当然因为是基础篇,所以才说难度较低,监控的指标依照官方模板,对于初学者来说足够使用了。如果有深入的监控需求,那就需要和业务方沟通,根据监控的范围来制作自定义指标了。

 前面讲到如何监控PG和MS SQL,今天带来另外一个数据库(MySQL)的教程。MySQL相比于PG和MS SQL监控难度最小,因为比较成熟,而且使用广泛,自然监控手段就没那么复杂,当然因为是基础篇,所以才说难度较低,监控的指标依照官方模板,对于初学者来说足够使用了。如果有深入的监控需求,那就需要和业务方沟通,根据监控的范围来制作自定义指标了。

正文

环境

  • Zabbix版本:5.2.2
  • MySQL版本:10.3.17
  • 系统版本:CentOS 8.2

监控范围

Zabbix自身数据库

模板获取方式

  • 通过网上资源
  • 通过官方git仓库(如下图)

为了方便各位直接能粘贴,贴出相对应的语句

  1. vi /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf 
  2. <---------------------------------------------------------------------------------------------------------------------------------------------------------------------> 
  3. UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping 
  4. UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status" 
  5. UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version 
  6. UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases" 
  7. UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'" 
  8. UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status" 
  9. UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status" 

 

效果图

自定义监控脚本启用

编辑agent配置文件,填写如下图红框中的内容(默认有)

  1. vim /etc/zabbix/zabbix_agentd.conf 

 

创建数据库监控用户

下面的命令基于我自身的环境,自身环境请根据自身的环境调整。

  1. mysql -uroot -pxiaoyu123  
  2. CREATE USER 'kasar'@'%' IDENTIFIED BY 'xiaoyu123';  
  3. GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'kasar'@'%'

  

创建登录用户名密码文件

默认在zabbix agent家目录(/var/lib/zabbix)下,如果没有,请创建。该文件主要是用于zabbix登录mysql数据库使用的。

  1. mkdir /var/lib/zabbix 
  2. vi /var/lib/zabbix/.my.cnf 
  3. [client]  
  4. user='kasar'  
  5. password='xiaoyu123' 

 

前端调用MySQL模板

4.0以上默认是有该模板的,无需要下载,如果没有也可以按照我上面讲的方法去获取,也可以私信找我要。


重启zabbix agent

  1. service zabbix-agent restart 

 

数据显示正常


出图正常

写在最后

整个过程不太难,当然要理解其中模板的调用关系还是稍微有点复杂,只有了解了Zabbix自定义监控脚本才能更深层次监控MySQL数据库,当然这个是后话了,先要从0到1,才能更好的进步,毕竟千里之行,始于足下嘛。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2023-12-27 07:40:43

HTTP服务器负载均衡

2022-02-20 09:56:28

TCPIP网络协议

2022-09-05 07:32:46

mock数据Stream

2014-04-09 11:43:54

Zabbix监控Mysql数据库

2023-12-26 07:40:34

2021-12-07 06:02:15

Redis Docker运维

2021-03-22 16:03:57

鸿蒙HarmonyOS应用开发

2023-07-31 21:56:54

哨兵系统redis

2021-01-15 13:18:39

数据模型领域模型代码

2022-07-28 09:02:41

文件存储系统

2019-07-26 06:29:22

MySQL数据库SQL

2019-07-23 07:30:16

2019-12-14 15:27:31

MySQL数据库访问控制

2020-07-16 07:30:15

数据库SQL技术

2020-08-03 08:01:50

爬虫技巧

2019-09-11 09:37:17

数据库MySQL系统

2019-09-17 08:23:35

MySQL数据库容量

2023-05-11 08:26:56

2024-01-11 07:32:00

2023-11-29 16:16:14

Redis数据库
点赞
收藏

51CTO技术栈公众号