zabbix6.2新增mysql資料庫監控

潇湘神剑發表於2024-10-29

  zabbix官網連結:Mysql monitoring and integration with Zabbix
  如何在zabbix上新增mysql的監控,官網已經說的很清楚了,照著官網的介紹做就行了,我只說明遇到的坑。

  步驟2、中的template_db_mysql.conf的內容在官網選擇文件版本下的Source連結。這個檔案預設是放在/etc/zabbix/zabbix_agentd.d/目錄下,但是我的zabbix是編譯安裝的,並不在這個目錄下,需要在zabbix_agent配置檔案中指定:

vim zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

我的template_db_mysql.conf長下面這樣:

#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default)
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user='zbx_monitor'
#password='<passwd>'
#
UserParameter=mysql.ping[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/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[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*],HOME=/usr/local/zabbix /usr/local/mysql-5.7.37/bin/mysql -h"$1" -P"$2" -sNX -e "show slave status"

  HOME=/usr/local/zabbix是為了指定.my.cnf檔案在哪裡,因為我的zabbix是編譯安裝的,並不在/var/lib/zabbix目錄下,所以需要指定。

  其中用到的mysqladmin命令和mysql命令我這裡寫了絕對路徑,因為採集時報這兩個命令找不到,所以我直接寫了絕對路徑。

  由於zabbix日誌的預設級別是warning,有些錯誤並不會被列印,因此需要調高日誌級別方便我們排錯。最高階別是5,列印的日誌更詳細。

  最後新增監控模版,成功完成zabbix對mysql的監控,如果你的zabbix的模版中沒有我的這個,那麼你可以將上面提到的Source那裡將template_db_mysql_agent.yaml檔案下載下來,匯入到你的zabbix模版當中就可以了。

相關文章