littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Go语言的Zabbix MySQL监控系统

项目简介

本项目是percona monitoring plugins zabbix的Go语言版本,能够对MySQL服务器状态进行监控,助力管理员快速掌握MySQL服务器性能、健康状态和资源使用情况,并且通过Zabbix监控平台展示数据。

项目的主要特性和功能

  1. 取值差异:部分监控项取值方法与percona版本不同,如innodb_transactions、unpurged_txns等采用十进制解析;running_slave和slave_lag依据SHOW SLAVE STATUS结果设置;新增mysqld_port_listen、query_rt系列和query_avgrt等监控项;去除SHOW /*!50000 ENGINE*/ INNODB STATUS中部分重复信息;spin_rounds计算方式增加了RW - shared和RW - excl的rounds值。
  2. 触发器差异:增加多个触发器,如最大连接数、打开文件限制、端口监听状态等相关触发器;删除部分在多实例或特定Zabbix版本下结果不准确或易出错的触发器。
  3. 版本支持:增加对mysql 5.7的支持,针对SHOW /*!50000 ENGINE*/ INNODB STATUSSHOW SLAVE STATUS输出做不同处理,支持多源复制。
  4. 功能限制:暂不支持mysql ssl连接方式,不完全支持Percona Server或MariaDB,仅支持zabbix 2.4.0及以上版本。

安装使用步骤

安装

  1. 安装zabbix - agent。
  2. 执行install.sh(需检查确保/etc/sudoers中包含#includedir /etc/sudoers.d,install.sh作用仅为拷贝文件至默认路径,可自行调整)。
  3. 创建采集mysql状态信息的用户: sql mysql> grant process,select,replication client on *.* to zbx@’127.0.0.1’ identified by 'zabbix';
  4. 拷贝配置文件: bash cp /var/lib/zabbix/actiontech/templates/userparameter_actiontech_mysql.conf /etc/zabbix/zabbix_agentd.d/ 若改变登陆密码或默认路径,请相应调整userparameter_actiontech_mysql.conf。然后重启agent: bash service zabbix - agent restart

测试数据采集

bash sudo -u zabbix -H /var/lib/zabbix/actiontech/scripts/actiontech_mysql_monitor --host 127.0.0.1 --user zbx --pass zabbix --items max_connections sudo -u zabbix -H /var/lib/zabbix/actiontech/scripts/actiontech_mysql_monitor --host 127.0.0.1 --user zbx --pass zabbix --items running_slave sudo -u zabbix -H /var/lib/zabbix/actiontech/scripts/actiontech_mysql_monitor --discovery_port true sudo -u zabbix -H /var/lib/zabbix/actiontech/scripts/actiontech_mysql_monitor --port 3306 --items mysqld_port_listen

开始监控

zabbix server导入配置模板actiontech_zbx_3.x_template_mysql_server.xml,添加主机、模板,即可开始监控。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】