zabbix5.0監控Mysql


1. 關聯mysql模版

步驟:配置 > 主機 > 點擊主機的主機 > 模版

 

 

 

點擊那個模版進去看看模版的描述

Requirements for template operation:
1.Install Zabbix agent and MySQL client.
2.Copy Template_DB_MySQL.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget restart zabbix-agent.
3.Create MySQL user for monitoring. For example:
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
For more information read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please.
4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. For example:
[client]
user=zbx_monitor
password=<password>

 

2. 設置模版mysql端

因為機器上(Zabbix server)找不到Template_DB_MySQL.conf,所以查找zabbix自帶的模板userparameter_mysql.conf

1)查看zabbix中的mysql監控模板,find / -name userparameter_mysql.conf

[root@ ~]# find / -name userparameter_mysql.conf
/usr/share/doc/zabbix-agent-5.0.4/userparameter_mysql.conf

  打開看到這個文件的第一句話

#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2

2)拷貝到zabbix_agentd.conf.d/目錄下

cp /usr/share/doc/zabbix-agent-5.0.4/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/

3)測試模版是否有效

# zabbix_agentd -t mysql.ping -c /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf   
  mysql.ping [t|mysqladmin: connect to server at '-P' failed error: 'Unknown MySQL server host '-P' (2)'

4) 模版修改

# vi /etc/zabbix/zabbix_agentd.d/userparameter_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 SUM(DATA_LENGTH + INDEX_LENGTH) 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"

改為

UserParameter=mysql.ping[*], HOME=/etc/zabbix mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], HOME=/etc/zabbix mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"

 

其實只多了一個 HOME=/etc/zabbix (要相信原生的模版寫法)

 

5)mysql下新增一個監控用戶zbx_monitor

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '123456';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

 

6)/etc/zabbix下新增一個文件 .my.cnf  (隱藏文件查看需要 ls -al)

[mysql]
user=zbx_monitor
password=123456
[mysqladmin]
user=zbx_monitor
password=123456


7)重啟動zabbix_agentd

  # systemctl restart zabbix-agent

  這一步結束后,要等,等5分鍾,10分鍾的,不要着急。

8)看 監測 > 最新數據

  

 

 

點右邊的“圖形”可以看圖表

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM