Zabbix 2.4.6 PollerProcessのメモリ使用量について
環境
OS:Centos6.6(VM)
Zabbix Server:2.4.6
DB:MySQL 5.6.26
CPU:12Core
メモリ:32G
MySQL
innodb_buffer_pool_size=16G
はじめまして
いつもお世話になっております。
現在、Zabbixを使った監視をしているのですが
pollerプロセスのメモリリークのような状態が続いており対応に苦慮しております。
監視対象ホストは約600、アイテムは65000。
スイッチやサーバ以外の機器なのでZabbixエージェントはインストール出来ず、SNMPポーリングやZabbix Senderで情報収集、
スクリプトでの外部チェックを行っています。
(Zabbixサーバ自身やZabbixプロキシに対してはZabbixエージェントで情報取得してます)
Zabbixを設定し、起動後メモリ使用量が徐々に増加していき
使用率が90%を超えた段階でアイテムの値が取得できない状態になります。
(グラフを確認すると途切れてそのままの状態)
全ての値が取得できなくなっているので監視の遅延が発生しています。
ZabbixServerとMySQLを再起動すると、メモリが解放され再度取得可能になるのですがその段階から徐々にメモリを消費していき同じ状態になります。
psコマンドやtopコマンドで確認したところ、Pollerプロセスのメモリ使用量が徐々に増加していることが確認でき
startpollersの値を20→50→120、120→50→10と少ない状態や多い状態等試してみましたがbusy率に変化はあるもののメモリ使用量の増加については解消せず
SNMPポーリングの間隔が短いと思い、取得間隔を伸ばしました(60秒だったものを3600秒等)がそれも解消せずでした。
Pollerプロセスのbusy率はStartPollerの値を減少させても20%程度で推移しています。
Cacheが急激に減少したりキューも溜まっているわけでもなく
CPUUtilizationもidleがおおよそ90%程度あるので問題ないと思っています
解消方法について知恵をお借りしたく。
よろしくお願いいたします。
TNK - 投稿数: 4769
1秒あたりの監視項目数はどの程度ですか?
キューには溜まっていませんか?
ログに何らかのメッセージが出力されていませんか?
ultim - 投稿数: 12
TNK様
お世話になります。
1秒あたりの監視項目数は89.76です。
キューは0のままです。
ログにはproxyとのコンフィグデータの同期と、SNMPポーリングで取得不可だったもののエラー程度です。
(数は1時間に5件程度です)
本日、午前と午後で確認しましたがやはり増加が止まらない状況です。
添付でsarとpsの結果を添付します。
※sarでmemfreeが改善しているところはzabbix-serverを再起動したためです。
またMySQLもメモリ使用量が上昇してますが、一時的に上がり定常的に上がっているものはPollerプロセスのみです。
よろしくお願いいたします。
ultim - 投稿数: 12
数分間ですが、デバッグログを取得してみました。
(大きいサイズだと添付できなかったので分割しました)
ホスト名等は一部修正しております。
よろしくお願いいたします。