Zabbix

Zabbix:添加項目使代理不可用

  • June 3, 2016

Zabbix 版本:3.0.3 (zabbix-server-mysql)

作業系統:Ubuntu 14.04 值得信賴

主機數量(啟用/禁用/模板):28 / 0 / 57

項目數(啟用/禁用/不支持):1349 / 161 / 47

觸發器數量(啟用/禁用):902 / 39

所需的伺服器性能,每秒新值:22.86

Zabbix 伺服器配置:

StartPollers=5 StartPollersUnreachable=2 StartTrappers=5 StartDiscoverers=3 StartHTTPPollers=5

我有這樣 3 個項目的模板:net.tcp.port[<IP>,3128]. 模板應用於 10 個伺服器。

這是問題:當我啟用此項目時,zabbix-agent on <hostname> is not available for 2 minutes開始隨機出現在應用模板的 10 個主機上。圖“Zabbix Server Preformance”(表示 )上的值,表示zabbix[wcache,values],從 19-19.5 開始下降到 16-17。代表的值zabbix[queue]和以前一樣保持在 0。

當我禁用項目時,問題消失了。

Zabbix 伺服器沒有因 I/O 或 CPU 過載,有大量可用記憶體。似乎不是硬體性能問題。主機上的 Zabbix 代理可用,我用nc -vz <hostname> 10050.

這 10 台主機上的伺服器日誌或代理日誌均未出現異常。

我嘗試增加ulimit -nzabbix 伺服器程序,它增加了:cat /proc/<zabbix_worker_pid>/limits現在顯示Max open files 10240 10240 files. 沒有幫助。

我嘗試將 StartPollers 的數量增加到 10 和 15 - 也沒有幫助。

伺服器發生了什麼?

更新

商品類型:Zabbix 代理

所有系統都在執行 Linux ubuntu 14.04 值得信賴

主機上的代理執行 3 個偵聽器、1 個收集器和 1 個活動檢查程序。

對於這 10 台主機中的 7台,zabbix_get -s <host> -t net.tcp.port[<IP>,3128]所有 3 項都立即工作,在其他 3 台主機上,它工作約 3 秒並返回 0(受監控的 IP 不能從這 3 台主機獲得)。

最後:

如果:

  • 代理和伺服器上的超時時間相同(預設值:超時 = 3)
  • 有項目net.tcp.port[<IP>,<port>]和触發器使用它
  • TCP 超時導致對[<IP>,<port>]不可用

然後:

“{HOST.NAME} 上的 Zabbix-agent 不可用”(觸發器表達式:) {agent.ping.nodata(2m)} = 1開始在具有此項目的主機上生成。不是特定項目的觸發器,而是代理可用性的觸發器。這是錯誤,但 zabbix 傢伙似乎不同意:

https://support.zabbix.com/browse/ZBX-10868

用於伺服器和代理的 Zabbix 版本 3.0.3。

可能的解決方法:

  • 使 zabbix_server.conf 中的 Timeout 大於 zabbix_agentd.conf 中的超時
  • 像這樣使用 UserParameter:UserParameter=tcp_connect_check[*], /bin/nc -z "$1" "$2" -w "$3"; echo $?並創建項目連接超時小於 zabbix_agentd.conf。為避免安全問題,請不要UnsafeUserParameters在 zabbix_agentd.conf 中啟用

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