本页将指导您完成启用MySQL服务器基本监控所需的步骤。
要监控MySQL服务器,有几种方法:Zabbix agent、Zabbix agent 2或开放数据库连接(ODBC)标准。 本指南的主要重点是使用 Zabbix agent 2 监控 MySQL 服务器,这是 推荐 的方法,因为它可以在各种设置中无缝配置。 但是,此页面也提供了其他方法的说明, 因此请随意选择最适合您要求的方法。
本指南适用于谁
本指南专为Zabbix新用户设计,包含启用MySQL服务器基本监控所需的最少步骤集。 如果您正在寻找深度自定义选项或需要更高级的配置,请参阅Zabbix手册的 配置 部分。
先决条件
在继续本指南之前,您需要根据对应您操作系统的说明 下载并安装 Zabbix server, Zabbix 前端和 Zabbix agent 2 。
根据您的设置,本指南中的某些步骤可能略有不同。本指南基于以下环境进行配置:
要监控MySQL服务器,Zabbix需要访问它及其进程。 您的MySQL安装已经具有一个所需访问级别的用户(安装Zabbix时创建的用户 "zabbix" ), 但是,该用户拥有的权限高于简单监控所需的权限 (删除数据库的权限,删除表中条目等)。 因此,需要创建一个 仅 用于监控MySQL服务器的MySQL用户。
1. 连接到MySQL客户端,创建一个 "zbx_monitor" 用户 (将 "zbx_monitor" 的 <password> 替换为您定义的密码), 并向该用户 GRANT 授予必要的权限:
mysql -u root -p
# Enter password:
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界面中 创建主机c :
3. 单击 添加 以添加主机。 此主机将代表您的MySQL服务器。
恭喜!此时,Zabbix已经在监视您的 MySQL 服务器。
要查看收集的指标,请打开 监测->主机 菜单 ,然后单击主机旁边的 仪表盘。
此操作将带您进入主机仪表板 (在模板级别配置),其中包含从 MySQL 服务器收集的最重要指标。
或者,在 监测->主机 中,您可以单击 最新数据 以查看列表中所有最新收集的指标。
注意监控项 MySQL: 计算的值 innodb_log_file_size 预期没有数据, 因为该值将根据过去一小时的数据计算得出。
Zabbix可以使用多种方法通知您有关基础设施的问题。 本指南提供了发送电子邮件警报的配置步骤。
1. 转到 用户设置 -> 配置,切换到 媒介 选项卡并 添加您的电子邮件。
2. 按照 接收问题通知的指南进行操作。
下次,当Zabbix检测到问题时,您应该会通过电子邮件收到告警。
要测试配置, 我们可以通过更新Zabbix前端的主机配置来模拟一个真实的问题。
1. 在Zabbix中打开MySQL服务器主机配置。
2. 切换到 宏 选项卡,然后选择 继承和主机宏 。
3. 单击 先前配置 的宏,例如 {$MYSQL.USER} 旁边的更改,设置一个不同的MySQL用户名。
4. 单击 更新 以更新主机配置。
5. 稍等片刻,Zabbix 将监测到问题 "MySQL: Service is down",因为它将无法连接到 MySQL 服务器。 该问题将显示在 监测 → 问题 中。
如果您 配置了告警,您还将收到问题通知。
6. 将宏值复原到先前的值,以解决问题并继续监视 MySQL服务器。
除了使用Zabbix agent 2监控MySQL服务器外,还可以使用Zabbix agent或Open Database Connectivity(ODBC)标准。 虽然建议使用 Zabbix agent 2,但可能有一些设置不支持 Zabbix agent 2 或需要自定义方法。
Zabbix agent 和 ODBC 的主要区别在于数据收集方法 - Zabbix agent 直接安装在MySQL服务器上,并使用其内置功能收集数据, 而 ODBC 依靠 ODBC 驱动程序与 MySQL 服务器建立连接并使用 SQL 检索数据。
尽管许多配置步骤类似于使用 Zabbix agent 2 监控 MySQL 服务器,但存在一些显着差异 - 需要配置Zabbix agent或ODBC才能监控MySQL服务器。以下说明将引导您了解这些 差异 。
要使用 Zabbix agent 监控 MySQL,您需要根据对应您操作系统的说明 下载并安装 Zabbix server, Zabbix 前端和 Zabbix agent。
根据您的设置,本指南中的某些步骤可能略有不同。本指南基于以下环境进行配置:
成功安装所需的Zabbix组件后,您需要按照 创建MySQL用户 部分所述创建MySQL用户。
创建MySQL用户后,您需要配置Zabbix agent,以便能够与MySQL服务器建立连接并对其进行监控。 这包括配置多个 用户参数 以执行自定义agent检查,以及为Zabbix agent提供必要的凭据, 以便以 先前创建的 "zbx_monitor" 用户身份连接到MySQL服务器。
配置Zabbix agent
1. 切换到 Zabbix agent 附加配置目录。
Zabbix agent附加配置目录应与Zabbix agent配置文件 (zabbix_agentd.conf) 位于同一目录中。 取决于您的操作系统和Zabbix安装,此目录的位置可能与本指南中指定的位置不同。 默认位置,请检查Zabbix agent配置文件中的 Include
参数。
这些用于监控MySQL服务器的参数将在附加配置目录中的单独文件中定义, 而不是在Zabbix agent配置文件中定义所有必要用户参数。
2. 在Zabbix agent附加配置目录中创建一个 template_db_mysql.conf 文件。
3. 将 template_db_mysql.conf 文件 (位于 Zabbix 存储库中) 中的内容复制到您创建的 template_db_mysql.conf 文件中,然后保存。
4. 重启Zabbix agent以更新其配置。
配置Zabbix agent用户参数后,您可以继续配置允许Zabbix agent访问MySQL服务器的凭据。
5. 导航到Zabbix agent主目录(如果系统上不存在,则需要创建它;默认值: /var/lib/zabbix)。
6. 在Zabbix agent主目录中创建一个 .my.cnf 文件。
7. 将以下内容复制到 .my.cnf 文件 (<password> 替换为 "zbx_monitor" 用户的密码)。
配置Zabbix前端并测试您的配置
要配置Zabbix前端,请按照 配置Zabbix前端 部分中的说明进行以下调整:
配置Zabbix前端后,您可以 查看收集的指标 并 设置问题告警。
若要测试配置,请按照 测试配置 部分中的说明进行以下调整:
要使用ODBC监控MySQL,您需要 下载并安装 Zabbix server 和 Zabbix 前端。
成功安装所需的Zabbix组件后,您需要按照 创建MySQL用户 部分所述创建一个MySQL用户。
创建MySQL用户后,需要设置ODBC。 这包括安装最常用的开源 ODBC API 实现之一 - unixODBC - 和unixODBC 驱动程序,以及编辑 ODBC 驱动程序配置文件。
配置ODBC
1. 安装 unixODBC。建议的安装 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 文件示例中,驱动程序名称为 "MariaDB Unicode"。
[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1
5. 将以下内容复制到 odbc.ini 文件中 ( <password> 替换为 "zbx_monitor" 用户的密码)。 本指南使用 "127.0.0.1" (localhost) 作为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前端后,您可以 查看收集的指标, 设置问题告警 并 测试您的配置。