前面讲了如何监控PG和MSSQL,今天再带来一个数据库(MySQL)的教程。与PG和MSSQL相比,MySQL的监控难度是最低的。因为比较成熟,应用比较广泛,自然监测手段没有那么复杂。当然因为是基础篇,据说难度比较低。学者足矣。如果有深度监控需求,需要跟业务方沟通,根据监控范围做自定义指标。文本环境Zabbix版本:5.2.2MySQL版本:10.3.17系统版本:CentOS8.2监控范围Zabbix自带的数据库模板获取方式是通过官方git仓库(如下图)在线获取资源,方便大家直接粘贴,贴出相应的Statementvi/etc/zabbix/zabbix_agentd.d/template_db_mysql.conf<------------------------------------------------------------------------------------------------------------------------------------------------------------->UserParameter=mysql.ping[*],mysqladmin-h"$1"-P"$2"pingUserParameter=mysql.get_status_variables[*],mysql-h"$1"-P"$2"-sNX-e"showglobalstatus"UserParameter=mysql.version[*],mysqladmin-s-h"$1"-P"$2"versionUserParameter=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.confcreatedatabasemonitoringuser以下命令是根据我自己的环境,请自行调整mysql-uroot-pxiaoyu123CREATEUSER'kasar'@'%'IDENTIFIEDBY'xiaoyu123';GRANTUSAGE,REPLICATIONCLIENT,PROCESS,SHOWDATABASES,SHOWVIEWON*.*TO'kasar'@'%';在zabbixagent主目录(/var/lib/zabbix)默认创建登录用户名和密码文件,如果没有请创建。该文件主要用于zabbix登录mysql数据库。mkdir/var/lib/zabbixvi/var/lib/zabbix/.my.cnf[client]user='kasar'password='xiaoyu123'前端调用MySQL模板4.0及以上,模板默认可用,无需要下载,如果没有也可以按照我上面说的方法获取,也可以私信找我要。重启zabbixagentservicezabbix-agentrestart数据显示正常,画面正常。把整个过程写到最后并不难。当然,模板的调用关系理解起来有点复杂。只有了解了Zabbix自定义监控脚本,才能对MySQL数据库进行更深层次的监控。当然,这是后话,我们必须先从0到1,才能取得更好的进步。毕竟,千里之行,始于足下。
