Mysql

Zabbix:MySQL 服務監視器 - 重啟 zabbix-agent 時出現無效條目

  • November 26, 2015

採取以下情況:

  • 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'

這個配置有什麼問題?

您的配置存在的問題是:

  1. 您將.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/zabbixHOME=/etc/zabbix以指向正確的文件(應該出現三次),如文件第一行所述。
  • 最後重啟代理: service zabbix-agent restart

引用自:https://serverfault.com/questions/737265