2016-01-21 35 views
0

我打算使用Temple MySQL 來監視MySQL詳細實例。不幸的是我無法得到結果。我在配置中還缺少什麼。檢查出來zabbix-代理日誌那些是日誌而不是整個日誌。模板MySQL在Zabbix中沒有得到結果

XECUTE_STR() command:'/usr/lib/zabbix/externalscripts/mysql_check.pl' len:0 cmd_result:'' 
28786:20160121:141008.072 Sending back [] 
28786:20160121:141008.072 listener #2 [waiting for connection] 
28788:20160121:141008.648 In send_buffer() host:'127.0.0.1' port:10051 values:0/100 
28788:20160121:141008.648 End of send_buffer():SUCCEED 
28788:20160121:141008.648 active checks #1 [idle 1 sec] 
28784:20160121:141008.795 collector [processing data] 
28784:20160121:141008.796 In update_cpustats() 
28784:20160121:141008.796 End of update_cpustats() 
28784:20160121:141008.796 collector [idle 1 sec] 
28785:20160121:141009.075 listener #1 [processing request] 
28785:20160121:141009.075 Requested [mysql[root,Qwestions,lld]] 

回答

1

1.爲MySQL添加特殊用戶:

例如:

GRANT USAGE ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'superpassword'; 
FLUSH PRIVILEGES; 

2.新增用戶PARAMS到ZABBIX代理配置

編輯/etc/zabbix/zabbix_agentd.conf

UserParameter=mysql.version,mysql -V 
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/etc/zabbix mysql -N | awk '{print $$2}' 
UserParameter=mysql.ping,HOME=/etc/zabbix mysqladmin ping | grep -c alive 
# 'sum' on data_length or index_length alone needed when we are getting this information for whole database instead of a single table 
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 " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/etc/zabbix mysql -N 

,如果你想要擴展監控項目,只需添加另一個UserParameter以及正確的SQL查詢

3.添加權威性文件爲MySQL:

創建.my.cnf文件到/etc/zabbix/

[client] 
user = zabbix 
password = superpassword 

4.重新啓動代理(和ZABBIX代理,如果你使用它)

0

日誌沒用。我們只看到腳本沒有返回結果,也看不到原因。

  1. 嘗試使用您在mysql_check.pl文件中提供的憑據從控制檯連接到MySQL。確保用戶有足夠的權限(最後超級)。

MySQL的-hhostname -uUser -ppassword

從用戶ZABBIX
  • 運行腳本,並檢查結果是:
  • perl的./ mysql_check.pl