工作的時候回遇到各種各樣的問題。
今天遇到一個關於zabbix的問題。
"Zabbix agent on host.name is unreachable for 5 minutes"
遇到這個問題的時候,首先考慮的是不是網絡問題導致的,tcpdump 就出來了,首先在server端和agent端 進行了抓包。
tcpdump -nn -i bond0 src host agent_IP
tcpdump -nn -i bond0 src host server_IP
抓包后發現兩邊都可以正常的接收到對方的包,沒有問題
然后在看了下server和agent的網絡連接
netstat -n |grep agent_IP
發現第二列,也就是Recv-Q列的值已經上萬,心想,為什么接受隊列會積壓這么多消息。zabbix得server端沒有處理agent端發來的消息?
趕緊查看zabbix_server.log,N多條下面的內容:
value cache is fully used: please increase ValueCacheSize configuration parameter
cache不夠用了? 看zabbix_server.conf中的配置
ValueCacheSize=256M
也不小啊,作為一個測試環境,監控30台機器,不至於這么不堪啊。
忽然想到是不是內存不夠用了
free -m
Mem這一行,內存一共48G左右,剩余200M的內存,夠吃緊的。
重啟zabbix server 吧
重啟完,問題解決了。
以前沒遇到過內存吃緊的問題,也沒想到內存吃緊會導致 zabbix 報告 agent on host.name is unreachable 的問題。
應該還有server運行時間太長,有些內存沒有釋放的問題,定期重啟srver應該會避免這個問題。
記下來,漲經驗。