根据Zabbix官方文档,Zabbix服务器要监控MySQL服务器,有几种方法:Zabbix agent、Zabbix agent 2或ODBC方式。本文记录如何通过部署 Zabbix agent 2 监控 MySQL 服务器的实操过程,这是官方文档推荐的方法,也是最容易配置成功的方式。

一、测试环境

1、Zabbix服务器配置:

Zabbix 版本: Zabbix 7.0.3 LTS

操作系统: Ubuntu 24.04 (Noble)

数据库: MySQL 8

Web 服务器: Apache

2、监控目标主机配置

操作系统: Rocky 9.4 (Blue onyx)

数据库: MySQL 8

二、配置过程

1、在监控目标主机上创建MySQL用户

要监控目标主机上的MySQL,Zabbix需要访问其进程。因此,需要创建一个仅用于监控MySQL服务器的MySQL用户"zbx_monitor" ,并向该用户授予必要的权限:

#mysql -u root -p

mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';

mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

mysql> quit;

2、安装配置Zabbix agent2

在监控目标主机上执行以下操作

导入Zabbix库

# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest.el9.noarch.rpm
# dnf clean all

安装Zabbix agent 2

# dnf install zabbix-agent2 zabbix-agent2-plugin-*

配置Zabbix Agent2:

编辑 /etc/zabbix/zabbix_agent2.conf 文件,设置Server参数为本地Zabbix Server地址。

Server=<ZABBIX_SERVER_IP>

启动Zabbix Agent2服务并设置开机自启:

systemctl start zabbix-agent2

systemctl enable zabbix-agent2

检查Zabbix Agent2服务状态:

systemctl status zabbix-agent2

确保防火墙允许Zabbix Agent端口(默认为10050)的流量:

firewall-cmd --add-port=10050/tcp --permanent

firewall-cmd –reload

3、配置 Zabbix 前端

登录Zabbix服务器前端地址,在Zabbix web界面中创建主机

在主机名字段中,输入主机名。

在模板字段中,选择 "MySQL by Zabbix agent 2" 模板, 链接 到主机。

在接口字段中, 添加一个 "Agent" 类型的接口,填写MySQL 服务器 IP 地址。

在宏选项卡中, 切换到“继承和主机宏”, 查找以下宏,然后单击宏值旁边的“更改”进行设置:

{$MYSQL.DSN} - 设置MySQL服务器的数据源 ,这里使用默认数据源 "tcp://localhost:3306"。

{$MYSQL.PASSWORD} - 更改为之前创建MySQL用户"zbx_monitor" 的密码。

{$MYSQL.USER} - 更改为之前创建的MySQL用户名称"zbx_monitor"。

到这里,配置已完成,单击“添加”以添加主机。等待几分钟后,打开监测->主机 菜单,可以查看收集到的指标数据。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐