最近很多人都問我如何為什麼使用我之前部落格的模板不能監控了,經過溝通發現對方的mysql版本是5.6,在進行命令列檢視資料的實話,使用mysql -uxxx -pxxx -Pxxx的時候,會如下報錯
1
|
Warning: Using a password on the command line interface can be insecure
|
報錯原因是mysql 5.6版本增加了密碼安全策略,之前版本可以使用的命令列里加上密碼就會強制報錯,所以使用zabbix lld監控mysql的時候,就會由於收到此報錯導致沒辦法監控。
解決的方法為:
第一種:使用mysql 5.5的客戶端
第二種:使用–login-path(推薦)
一、mysql配置
下面是介紹如何使用–login-path設定
1
|
mysql_config_editor set --login-path= local --host=localhost --user=zabbix -p
|
命令解釋:
–login-path是設定訪問的名字,我設定的local;
–host是指定允許訪問的host地址,這個地址是你grant的時候配置的;
–user是使用者名稱,也是grant時候配置的;
-p是指定密碼,同樣是grant配置。
執行上面命令後,會要求你屬於密碼,輸入後會什麼反饋都沒有,可以使用下面命令檢視
1
2
3
4
5
|
15:35:38 # mysql_config_editor print --all
[ local ]
user = zabbix password = ***** host = localhost |
測試
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
15:35:40 # mysql --login-path=local
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 741
Server version: 5.6.19-67.0-log Percona Server (GPL), Release 67.0, Revision 618 Copyright (c) 2009-2014 Percona LLC and /or its affiliates
Copyright (c) 2000, 2014, Oracle and /or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and /or its
affiliates. Other names may be trademarks of their respective owners. Type `help;` or `h` for help. Type `c` to clear the current input statement.
mysql> quit |
上面就配置好了mysql安全模式訪問
二、zabbix agentd配置
下面介紹zabbix客戶端配置檔案裡key的情況
預設客戶端的key是
1
2
|
UserParameter=mysql_stats[*],mysql -h localhost -P $1 -uzabbix -pzabbix -e "show global status" | grep "<$2>" | cut -f2
UserParameter=mysql_stats_slave[*],mysql -h localhost -P $1 -uzabbix -pzabbix -e "show slave statusG" | grep "<$2>" | awk `{if($NF=="Yes") {print 1} else {print 0}}`
|
修改為
1
2
|
UserParameter=mysql_stats_5.6[*], sudo mysql --login-path= local -P $1 -e "show global status" | grep "<$2>" | cut -f2
UserParameter=mysql_stats_slave_5.6[*], sudo mysql --login-path= local -P $1 -e "show slave statusG" | grep "<$2>" | awk `{if($NF=="Yes") {print 1} else {print 0}}`
|
然後配置sudo,在/etc/sudoers裡新增
1
|
zabbix ALL=(root) NOPASSWD: /usr/bin/mysql
|
其中/usr/bin/mysql是mysql程式地址,可以根據你自身情況修改。
完成後重啟zabbix agentd
1
2
|
ps -ef| grep zabbix| grep - v grep | awk `{print $2}` | xargs kill -9
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd .conf
|
其他的配置參考之前監控mysql的就行
三、zabbix web配置
A、模板匯入
把Template Mysql 5.6 Auto Discovery匯入到zabbix裡(模板在附件),具體操作不介紹。
B.主機關聯模板
把需要監控mysql 5.6版本的主機管理模板即可監控,預設是3600秒後自動更新。