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

 2022-10-27    386  

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

正文

环境

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

监控范围

Zabbix自身数据库

模板获取方式

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

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

vi/etc/zabbix/zabbix_agentd.d/template_db_mysql.conf
<--------------------------------------------------------------------------------------------------------------------------------------------------------------------->
UserParameter=mysql.ping[*],mysqladmin-h"$1"-P"$2"ping
UserParameter=mysql.get_status_variables[*],mysql-h"$1"-P"$2"-sNX-e"showglobalstatus"
UserParameter=mysql.version[*],mysqladmin-s-h"$1"-P"$2"version
UserParameter=mysql.db.discovery[*],mysql-h"$1"-P"$2"-sN-e"showdatabases"
UserParameter=mysql.dbsize[*],mysql-h"$1"-P"$2"-sN-e"SELECTCOALESCE(SUM(DATA_LENGTH+INDEX_LENGTH),0)FROMINFORMATION_SCHEMA.TABLESWHERETABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*],mysql-h"$1"-P"$2"-sNX-e"showslavestatus"
UserParameter=mysql.slave_status[*],mysql-h"$1"-P"$2"-sNX-e"showslavestatus"

效果图

自定义监控脚本启用

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

vim/etc/zabbix/zabbix_agentd.conf

创建数据库监控用户

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

mysql-uroot-pxiaoyu123
CREATEUSER'kasar'@'%'IDENTIFIEDBY'xiaoyu123';
GRANTUSAGE,REPLICATIONCLIENT,PROCESS,SHOWDATABASES,SHOWVIEWON*.*TO'kasar'@'%';

创建登录用户名密码文件

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

mkdir/var/lib/zabbix
vi/var/lib/zabbix/.my.cnf
[client]
user='kasar'
password='xiaoyu123'

前端调用MySQL模板

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

重启zabbix agent

servicezabbix-agentrestart

数据显示正常

出图正常

写在最后

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

  •  标签:  
  • MySQL
  •  

原文链接:https://77isp.com/post/10245.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。