本页面将引导您完成开始对 MySQL 服务器进行基础监控所需的步骤。
要监控 MySQL 服务器,有几种方法:Zabbix agent、Zabbix agent 2 或开放式数据库连接(ODBC)标准。 本指南主要介绍使用 Zabbix agent 2 监控 MySQL 服务器,这是推荐的方法,因为它在各种配置中具有无缝的设置体验。 不过,本页面也提供了其他方法的说明,您可以根据自身需求选择合适的方式。
本指南的适用对象
本指南面向新Zabbix用户,包含启用对MySQL服务器进行基础监控所需的最简步骤集。 如果您需要深度定制选项或更高级的配置,请参见Zabbix手册中的 Configuration 部分。
前提条件
在继续本指南之前,您需要根据您的操作系统说明安装download and install Zabbix server、Zabbix 前端和Zabbix agent 2。
根据您的设置,本指南中的某些步骤可能会略有不同。本指南基于以下设置:
要监控MySQL服务器,Zabbix需要访问该服务器及其进程。 您的MySQL安装已经包含一个具有所需访问级别的用户(在安装Zabbix时创建的用户"zabbix"), 但是该用户拥有比简单监控所需的更高权限(例如删除数据库、从表中删除条目的权限等)。 因此,需要创建一个仅用于监控MySQL服务器的MySQL用户。
1。连接到MySQL客户端,create一个名为"zbx_monitor"的用户(将<password>替换为您选择的"zbx_monitor"用户的密码), 并将GRANT必要的权限授予该用户:
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;
创建用户后,您可以继续下一步。
1。登录到 Zabbix 前端。
2。Zabbix Web 界面中的 Create a host:
3。点击 添加 添加 主机。此 主机 将代表您的 MySQL 服务器。
恭喜!此时,Zabbix 已经在监控您的 MySQL 服务器。
要查看已收集的指标,请导航到 Monitoring → Hosts 菜单部分,并点击 主机 旁边的 仪表盘(Dashboards)。
此操作将带您进入 主机 仪表盘(在模板级别配置),显示从 MySQL 服务器收集的最重要指标。
或者,在 Monitoring → Hosts 菜单部分,您可以点击 Latest data,以列表形式查看所有最新收集的指标。
请注意,监控项 MySQL: Calculated value of innodb_log_file_size 预计将没有数据,因为该值将根据过去一小时的数据进行计算。
Zabbix 可以通过多种方式通知您基础设施的问题。
本指南提供了发送电子邮件告警的基本配置步骤。
1. 导航至 User settings → Profile,切换到 媒介 标签页,然后点击 添加用户。
2. 请参考 Receiving a problem notification 的配置指南。
下次当 Zabbix 检测到问题时,您应该会通过电子邮件收到告警通知。
为了测试您的配置,我们可以通过在 Zabbix 前端中更新主机配置来模拟一个真实问题。
1. 在 Zabbix 中打开您的 MySQL 服务器主机配置。
2. 切换到 宏 选项卡并选择 继承和主机宏。
3. 点击例如先前配置的 {$MYSQL.USER}宏值旁边的 更改,并设置一个不同的 MySQL 用户名。
4. 点击 更新 以update 主机配置。
5. 片刻之后,Zabbix 将检测到问题 "MySQL:服务已关闭",因为它无法连接到 MySQL 服务器。 该问题将显示在Monitoring → Problems中。
如果已配置告警,您还将收到问题通知。
6. 将宏值更改回之前的值以解决问题,并继续监控 MySQL 服务器。
除了使用 Zabbix agent 2 监控 MySQL 服务器之外,您还可以使用 Zabbix agent 或开放式数据库连接(ODBC)标准。
虽然推荐使用 Zabbix agent 2,但在某些设置中可能不支持 Zabbix agent 2 或需要自定义方法。
Zabbix agent 与 ODBC 之间的关键区别在于数据收集方式 —— Zabbix agent 直接安装在 MySQL 服务器上,并使用其内置功能收集数据,
而 ODBC 则依赖于 ODBC 驱动程序来建立与 MySQL 服务器的连接,并使用 SQL queries 检索数据。
尽管许多配置步骤与使用 Zabbix agent 2 监控 MySQL 服务器类似,但仍存在一些显著差异 — 您需要配置 Zabbix agent 或 ODBC 才能监控 MySQL 服务器。
以下说明将引导您了解这些差异。
要使用 Zabbix agent 监控 MySQL 服务器,您需要根据您的操作系统说明安装 download and install Zabbix server、Zabbix 前端和 Zabbix agent。
一旦成功安装所需的 Zabbix 组件后,你需要按照 创建 MySQL 用户 部分中描述的内容来 create 一个 MySQL 用户。
创建 MySQL 用户后,您需要配置 Zabbix agent,以便能够与 MySQL 服务器建立连接并对其进行监控。 这包括配置多个 user parameters 以执行自定义的 agent 检查, 以及为 Zabbix agent 提供以 previously created 的 "zbx_monitor" 用户身份连接 MySQL 服务器所需的凭据。
配置 Zabbix agent
1。导航到 Zabbix agent 的附加配置目录。
Zabbix agent 的附加配置目录应位于与您的 Zabbix agent 配置 file(zabbix_agentd.conf)相同的目录中。 根据您的操作系统和 Zabbix 安装方式,此目录的位置可能与此指南中指定的不同。 有关默认位置,请检查 Zabbix agent 配置文件中的 Include
参数。
与其将所有用于监控 MySQL 服务器的必要用户参数定义在 Zabbix agent 配置文件中, 不如将这些参数定义在附加配置目录中的一个单独的 file 文件中。
2。在 Zabbix agent 的附加配置目录中创建一个 template_db_mysql.conf file。
3。将 template_db_mysql.conf file(位于 Zabbix 仓库中)的内容复制到您创建的 template_db_mysql.conf file 中,并保存。
4。重启 Zabbix agent 以 update 其配置。
一旦您配置了 Zabbix agent 的用户参数,就可以继续配置凭据,以便 Zabbix agent 能够访问 MySQL 服务器。
5。导航到Zabbix agent的主目录(如果该目录在您的系统中不存在,则需要对其进行create;默认路径为:/var/lib/zabbix)。
6。在Zabbix agent的主目录中创建一个.my.cnf file。
7。将以下内容复制到.my.cnf file中(将<password>替换为“zbx_monitor”用户的密码)。
配置Zabbix前端并测试您的配置
要配置Zabbix前端,请按照配置Zabbix前端部分的说明进行操作,并进行以下调整:
配置完Zabbix前端后,您可以查看已收集的指标并设置问题警报。
要测试您的配置,请按照测试您的配置部分的说明进行操作,并进行以下调整:
要通过 ODBC 监控 MySQL 服务器,您需要安装 download and install Zabbix server 和 Zabbix 前端。
在成功安装所需的 Zabbix 组件后,您需要按照 创建 MySQL 用户 章节中描述的方法使用 create 创建一个 MySQL 用户。
创建 MySQL 用户后,您需要设置 ODBC。 这包括安装最常用的开源 ODBC API 实现之一 - unixODBC,以及 unixODBC 驱动程序,并编辑 ODBC 驱动程序配置文件。
配置 ODBC
1。安装 unixODBC。建议的安装方式是使用 Linux 操作系统的默认软件包仓库。
2。安装 mariadb unixODBC 数据库驱动程序。尽管你使用的是 MySQL 数据库,但 mariadb unixODBC 驱动程序用于兼容性 问题。
3。检查 ODBC 配置文件 odbcinst.ini 和 odbc.ini 的位置。
执行该命令的结果应类似于以下内容。
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
...
4。要配置用于监控 MySQL 数据库的 ODBC 驱动程序,你需要驱动程序名称,该名称位于 odbcinst.ini 文件中。 在以下 odbcinst.ini file 示例中,驱动程序名称为 "mariadb Unicode"。
[mariadb Unicode]
Driver=libmaodbc.so
Description=mariadb Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5。将以下内容复制到 odbc.ini file 文件中(将 <password> 替换为 "zbx_monitor" 用户的密码)。 本指南使用 "127.0.0.1"(本地主机)作为 MySQL 服务器地址,用于监控安装在同一台机器上的 ODBC 驱动程序的 MySQL 服务器。 请注意数据源名称(DSN)"test",在 配置 Zabbix 前端 时将需要它。
[test]
Driver=mariadb Unicode
Server=127.0.0.1
User=zbx_monitor
Password=<password>
Port=3306
Database=zabbix
配置Zabbix前端并测试您的配置
要配置Zabbix前端,请按照配置Zabbix前端部分中的说明进行操作,并进行以下调整:
完成Zabbix前端配置后,您可以 查看收集的指标、设置问题警报 并 测试您的配置。