zabbix4.2配置監控MySQL


1.在被監控主機安裝好MySQL

  相關步驟省略。

 

2.創建監控所需要的MySQL賬戶(MySQL服務器端)

MariaDB [(none)]>grant usage on *.* to zabbix@192.168.10.100 identified by '123456';
MariaDB [(none)]>flush privileges;

 

3.修改MySQL服務器主機配置文件(my.cnf)

[root@ansible-control etc]# vim my.cnf
[mysql]
host=192.168.10.100  #IP地址為MySQL服務器端地址
user=zabbix
password=123456

[mysqladmin]
host=192.168.10.100
user=zabbix
password=123456

  

4.zabbix服務器端驗證zabbix代理服務端是否正常返回數據

  如果可以正常返回數字信息,則說明服務器端可以正確獲取客戶端信息。

[root@zabbix-server-center /]# zabbix_get -s 192.168.10.100 -p 10050 -k "mysql.status[Uptime]"
11027

 

5.添加MySQL監控腳本

    注意監控腳本都必須放在/etc/zabbix/zabbix_agentd.d目錄(存放配置文件的目錄)中,因為在zabbix-agent配置文件中已經規定了,除非人為更改:

 

 

【監控腳本】
[root@ansible-control zabbix_agentd.d]# cat userparameter_mysql.conf # 連接數 UserParameter=mysql.max_connections,echo "show variables where Variable_name='max_connections';" | mysql -N | awk '{print $2}' UserParameter=mysql.current_connections,echo "show global status where Variable_name='Threads_connected';" | mysql -N | awk '{print $2}' # 緩沖池 UserParameter=mysql.buffer_pool_size,echo "show variables where Variable_name='innodb_buffer_pool_size';" | mysql -N |awk '{printf "%.2f",$2/1024/1024/1024}' UserParameter=mysql.buffer_pool_usage_percent,echo "show global status where Variable_name='Innodb_buffer_pool_pages_free' or Variable_name='Innodb_buffer_pool_pages_total';" | mysql -N | awk '{a[NR]=$2}END{printf "%.1f",100-((a[1]/a[2])*100)}' # 增刪改查 UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | mysql -N | awk '{print $$2}' # 實例狀態 UserParameter=mysql.ping,mysqladmin ping | grep -c alive UserParameter=mysql.version,mysql -V

 

6.重啟zabbix-agent客戶端

[root@ansible-control zabbix]# systemctl restart zabbix-agent.service 

 

7.使用系統自帶Template DB MySQL模板進行監控

 

 

 

 

8.查看監控圖形

  (1)MySQL bandwidth

 

   (2)MySQL operations

 

 

9.導入預制模板進行監控

 


免責聲明!

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



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