Zabbix 监控 MySQL 完整配置指南

Zabbix 监控 MySQL 完整配置指南

本指南专为Zabbix新用户设计,包含启用MySQL服务器基本监控所需的最少步骤集。 如果您正在寻找深度自定义选项或需要更高级的配置,请参阅Zabbix手册的 配置 部分。

一、安装 Zabbix Agent2

执行以下命令完成 Agent2 安装与启动(适用于 Ubuntu 系统):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 更新系统包并安装依赖工具
apt update && apt install -y wget gnupg2

# 下载 Zabbix 仓库配置包(适配当前 Ubuntu 版本)
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb

# 安装仓库配置包
dpkg -i zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb

# 再次更新包索引
apt update

# 安装 Zabbix Agent2
apt install -y zabbix-agent2

# 启动 Agent2 服务并设置开机自启
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

二、创建 MySQL 监控专用用户

Zabbix 需通过 MySQL 账号获取监控数据,建议创建最小权限的专用用户(避免使用高权限账号):

执行 SQL 命令(登录 MySQL 后操作)

1
2
3
4
5
6
7
8
-- 创建监控用户(允许从任意主机访问,密码可自定义)
CREATE USER "zbx_monitor"@"%" IDENTIFIED BY '202019';

-- 授予监控必需的最小权限
GRANT replication client, process, show databases, show view ON *.* TO 'zbx_monitor'@'%';

-- 退出 MySQL 终端
QUIT;

权限说明

  • replication client:获取主从复制状态
  • process:查看 MySQL 进程列表
  • show databases:查看数据库列表
  • show view:查看视图信息

三、Zabbix Web 端配置(添加 MySQL 主机)

步骤 1:添加主机

  1. 登录 Zabbix Web 后台,进入「配置 → 主机 → 创建主机」
  2. 填写核心配置:
    • 主机名:填写自定义名称(例:MySQL server,需与 Agent 配置一致)
    • 主机组:选择或创建主机组(例:数据库
    • 模板:搜索并链接 MySQL by Zabbix agent 2 模板(核心监控模板)
    • 接口:添加「Agent」类型接口,填写 MySQL 服务器的 IP 地址(本地部署填 127.0.0.1

配置示意图

主机添加配置

四、Zabbix Agent2 配置(关联 Server)

编辑 Agent 配置文件

找到 Agent 配置文件(默认路径:/etc/zabbix/zabbix_agent2.conf),修改以下关键参数:

1
2
3
4
5
6
7
8
# 主机名:必须与 Zabbix Web 端添加的主机名一致
Hostname=MySQL server

# Zabbix Server 地址:填写 Zabbix Server 的 IP 或域名
Server=192.168.20.161

# (可选)被动模式允许的 Server 地址(与 Server 参数一致即可)
# ServerActive=192.168.20.161

重启 Agent2 使配置生效

1
systemctl restart zabbix-agent2

五、查看监控效果

步骤

  1. 登录 Zabbix Web 后台,进入「监测 → 主机」
  2. 在目标主机(例:MySQL server)右侧,点击「仪表盘」
  3. 即可查看 MySQL 各项监控指标(连接数、QPS、慢查询、磁盘占用等)

效果示意图

监控仪表盘概览

详细监控指标

注意事项

  1. 确保 Zabbix Server 与 MySQL 服务器之间网络互通(默认 Agent 端口 10050)
  2. 若 MySQL 部署在非本地(Agent 与 MySQL 分离),需修改 MySQL 用户授权为 zbx_monitor@'Agent服务器IP'
  3. 若监控数据未正常采集,可检查 Agent 日志:journalctl -u zabbix-agent2