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模版當中就可以了。