Mysql
Zabbix:MySQL 服務監視器 - 重啟 zabbix-agent 時出現無效條目
採取以下情況:
- zabbixserver: httpd, mysql-server, zabbix 2.2.11 和本地數據庫
- 數據庫伺服器:mysql伺服器
- zabbixserver 正確監控本地 mysql 數據庫。
- zabbixserver 報告 databaseserver 上的 mysql 已關閉,而它已啟動
- zabbixserver 報告數據庫伺服器上的其他服務工作正常
按照本指南,我已完成以下操作以使其正常工作。在數據庫伺服器上安裝了 zabbix-agent,它向 zabbixserver 報告。
- 創建 zabbixuser 並授予所有數據庫的使用權限並刷新權限
- 創建
/etc/zabbix/.my.cnf
該文件
/etc/zabbix/.my.cnf
被忽略。如果我把它放進去,/etc/zabbix/zabbix_agentd.d
它就會被使用。[mysql] user=zabbixuser password=123456 [mysqladmin] user=zabbixuser password=123456
這個 .my.cnf 有兩個配置文件:mysql 和 mysqladmin,但我看不到它們的連結位置以及為什麼要使用它們。重啟 zabbix-agent 會報錯。
啟動 Zabbix 代理:zabbix_agentd
$$ 12334 $$: 輸入無效$$ [mysql $$](不遵循“參數=值”符號)在配置文件中$$ /etc/zabbix/zabbix_agentd.d//.my.cnf $$,第 1 行
/var/log/zabbix/zabbix_agentd.log
報導稱:1077:20151125:170718.508 active check configuration update from [10.2.3.4:10051] started to fail (cannot connect to [[10.2.3.4]:10051]: [4] Interrupted system call) mysqladmin: unknown variable 'USER=zabbixuser' mysql: unknown variable 'USER=zabbixuser'
這個配置有什麼問題?
您的配置存在的問題是:
- 您將
.my.cnf
文件放在錯誤的位置。Zabix 代理配置文件具有規定的格式和定義的參數。如果您可以使用
Include
選項來載入其他配置文件,請確保它遵循相同的格式。zabbix文件清楚地說明了這一點:從版本 1.8.6 開始,如果配置文件中存在無效(不遵循參數=值表示法)或未知參數條目,Zabbix 代理守護程序將不會啟動。
因此,在您的情況下,
.my.cnf
當您將文件放在/etc/zabbix/zabbix_agentd.d
.
- 您缺少
userparameter_mysql.conf
正確配置文件的部分。要解決問題:
- 將
.my.cnf
文件從/etc/zabbix/zabbix_agentd.d
目錄移動到/etc/zabbix
. 並刪除任何Include
條目以引用 .my.cnf 文件(如果有的話)。該文件的內容可能如下所示:[mysqld] user=username password=userpass [mysqladmin] user=username password=userpass
請確保此處列出的使用者存在並且在 mysql 中具有必要的權限。
- 編輯
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
文件:您需要替換HOME=/var/lib/zabbix
為HOME=/etc/zabbix
以指向正確的文件(應該出現三次),如文件第一行所述。- 最後重啟代理:
service zabbix-agent restart