1. 安裝完zabbix後,默認的監控mysql模板是不能用的,即使添加上去了,也是顯示為紅色的unsupper,因此我們需要做一些配置.首先需要在想要監控的mysql server上新建授權用戶,zabbix_agent對數據庫有查詢,以及狀態監測等權限.

mysql -uroot-p -e "GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1' IDENTIFIEDBY 'zabbix'";

mysql -uroot-p -e "GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIEDBY 'zabbix'";

mysql -uroot-p -e"flush privileges"

 

  1. 測試授權用戶是否創建成功以及是否有相應權限.

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

 

  1. 進入zabbix_agent的配置目錄,如我這裡是/usr/local/etc/zabbix24, 新建一個文件用來保存登錄mysql的用戶以及密碼, 文件名字為 .my.cnf(注意前面有個小點)

[mysql]

user=zabbix

password=zabbix

[mysqladmin]

user=zabbix

password=zabbix

 

  1. 在配置文件目錄內還有一個配置目錄,用來加載其他自定義配置的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 後面為正確的路徑.

  1. 修改zabbix_agentd.conf ,啟用自定義配置.

EnableRemoteCommands=1   #啟用遠程執行命令

UnsafeUserParameters=1#啟用不安全的用戶參數,可以在參數後直接加密碼

Include=/usr/local/etc/zabbix24/zabbix_agentd.conf.d/*.conf#去掉註釋,修改正確路徑

 

  1. 重啟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時候的東西,剛開始弄的時候也是各種不行,所以寫了這篇筆記,給眾多像我一樣的新手幫助,少走點彎路.