安裝完zabbix後,默認的監控mysql模板是不能用的,即使添加上去了,也是顯示為紅色的unsupper,因此我們需要做一些配置.首先需要在想要監控的mysql server上新建授權用戶,讓zabbix_agent對數據庫有查詢,以及狀態監測等權限.
mysql -uroot-p<PASS> -e "GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1' IDENTIFIEDBY 'zabbix'";
mysql -uroot-p<PASS> -e "GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIEDBY 'zabbix'";
mysql -uroot-p<PASS> -e"flush privileges"
測試授權用戶是否創建成功以及是否有相應權限.
mysql –uzabbix –pzabbix–e “status”
如果出現下面輸出就是OK了.
Connectionid: 9561
Currentdatabase:
Currentuser: zabbix@localhost
SSL: Not in use
Currentpager: stdout
Usingoutfile: ''
Usingdelimiter: ;
Serverversion: 5.1.72-2 (Debian)
Protocolversion: 10
Connection: Localhost via UNIX socket
Servercharacterset: utf8
Db characterset: utf8
Clientcharacterset: utf8
Conn. characterset: utf8
UNIXsocket: /var/run/mysqld/mysqld.sock
Uptime: 4 days 23 hours 50 min 4 sec
Threads: 1 Questions: 153764 Slow queries: 25 Opens: 1746 Flush tables: 1
進入zabbix_agent的配置目錄,如我這裡是/usr/local/etc/zabbix24, 新建一個文件用來保存登錄mysql的用戶以及密碼, 文件名字為 .my.cnf(注意前面有個小點)
[mysql]
user=zabbix
password=zabbix
[mysqladmin]
user=zabbix
password=zabbix
在配置文件目錄內還有一個配置目錄,用來加載其他自定義配置的zabbix_agentd.conf.d ,在此目錄裡新建配置文件userparameter_mysql.conf ,添加如下內容
UserParameter=mysql.status[*],echo"show global status where Variable_name='$1';" |HOME=/usr/local/etc/zabbix24 mysql -N | awk '{print $$2}'
UserParameter=mysql.size[*],echo"select sum($(case "$3" in both|"") echo"data_length+index_length";; data|index) echo "$3_length";;free) echo "data_free";; esac)) from information_schema.tables$([["$1" = "all" || ! "$1" ]] || echo " wheretable_schema='$1'")$([[ "$2" = "all" || !"$2" ]] || echo "and table_name='$2'");" |HOME=/usr/local/etc/zabbix24 mysql –N
UserParameter=mysql.ping,HOME=/usr/local/etc/zabbix24mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql–V
一共4行,如果你的zabbix_agent配置目錄不是這裡,請替換上面內容的HOME 後面為正確的路徑.
修改zabbix_agentd.conf ,啟用自定義配置.
EnableRemoteCommands=1 #啟用遠程執行命令
UnsafeUserParameters=1#啟用不安全的用戶參數,可以在參數後直接加密碼
Include=/usr/local/etc/zabbix24/zabbix_agentd.conf.d/*.conf#去掉註釋,修改正確路徑
重啟zabbix_agentd 服務.然後在zabbix server上對需要監控的server添加mysql模板.
添加好後轉到items項看看MYSQL 項,沒有出現紅色的unsupper, 而是變成了綠色的enabled 就是成功了.
備註:
此文是根據一個老外的博客完成的.因為老外寫的東西沒有寫完整,導致我也摸索了好久.有興趣的朋友也可以去看看.原文在這裡:
http://blog.themilkyway.org/2013/12/zabbix-mysql-monitoring-notes/
這篇筆記僅能配置為zabbix自帶的監控模板功能,如果需要更高級的其他監控,得自己寫key .這個不深究了.有興趣的自己去研究下. 網上找到的各種教程,不是錯亂不對,就是多年前的zabbix 2.0時候的東西,剛開始弄的時候也是各種不行,所以寫了這篇筆記,給眾多像我一樣的新手幫助,少走點彎路.