Zabbix MySQL數據庫監控簡介
通過 Zabbix 監控 MySQL 數據庫,可以獲取有關數據庫性能、運行狀況和資源使用情況的詳細信息,幫助及時發現和解決問題。
Zabbix官方提供了一個名為MySQL by Zabbix agent
的監控模板,該模板專為 Zabbix 通過 Zabbix 代理輕松部署 MySQL 監控而設計,不需要任何外部腳本。
zabbix agent 配置
zabbix環境信息
節點 | IP | OS | Role |
---|---|---|---|
zabbix-server | 192.168.72.31 | Ubuntu 22.04 | zabbix-server |
db-server01 | 192.168.72.33 | Ubuntu 22.04 | mysql/zabbix-agent |
zabbix 版本: v7.0.0
前置要求:在mysql數據庫服務器上安裝 Zabbix 代理和 MySQL 客戶端。如有必要,請將 mysql
和 mysqladmin
實用程序的路徑添加到全局環境變量 PATH。
apt update -y
apt install -y mysql-server
將帶有用戶參數的 template_db_mysql.conf
文件復制到 Zabbix Agent配置文件夾中(默認為 /etc/zabbix/zabbix_agentd.d/ )。不要忘記重新啟動 Zabbix 代理。
下載Agent配置文件
下載地址:https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/templates/db/mysql_agent/template_db_mysql.conf
cp template_db_mysql.conf /etc/zabbix/zabbix_agentd.d/
查看文件內容
root@db-server01:~# cat /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
root@web-server:~#
重啟zabbix-agent服務
systemctl restart zabbix-agent
在被監控數據庫服務器中創建將用于監控的 MySQL 用戶( <password>
由您自行決定)。例如:
root@db-server01:~# mysql -uroot -p
mysql> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Zabbix@123456';
mysql> GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
在 Linux 發行版的 Zabbix 代理的主目錄(默認為 /var/lib/zabbix)中創建 .my.cnf
配置文件,或windows c:\
下創建my.cnf
:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
cat >/var/lib/zabbix/.my.cnf<<EOF
[client]
protocol=tcp
user='zbx_monitor'
password='Zabbix@123456'
EOF
配置zabbix-web
導航到數據采集 -> 主機->創建主機
模板選擇官方提供的MySQL by Zabbix agent。
選擇監測->最新數據,查看收集的數據庫監控指標