DBのCPU使用率MAX時における監視動作影響について
zabbixserver
Zabbix:2.4.3
OS : linux CentOS 6.2
CPU:2.0GHz
RAM:3.4GB
DISK:10GB
DB(master)
OS : linux CentOS 6.2
CPU:1.0GHz
RAM:1.7GB
DISK:10GB+200GB
myswlデータサイズ:約 90 GB
DB(slave)
OS : linux CentOS 6.2
CPU:1.0GHz
RAM:1.7GB
DISK:10GB+200GB
myswlデータサイズ:約 90 GB
ホスト数:140
アイテム数:3200
上記構成で監視を実施中、DB(master) にて過去データ削除(mysql の delete クエリ)が実施され、
IO-wait により 30 分ほど CPU 使用率が MAX となりました。再発が予想されるので、
本事象により監視サービスに影響があるか否かご教示いただけると助かります。
fripper - 投稿数: 495
HouseKeeper の処理によるものだと思われます
IO-Waitが高い時間帯において、大量の監視項目・監視データを受け取った場合
zabbix_server プロセスはDB へ格納しようとしますが、その処理が遅延し、
zabbix_server.conf の
HistoryCacheSize
VMwareCacheSize
を超える容量となってしまった場合に、監視データの取りこぼしが発生する可能性があります
その他、アクションの実行など、zabbix_server は様々な処理でDBへの接続を行っていますので
当該時間帯に「監視サービスに影響はありません」とは断言できません
HousekeepingFrequency
MaxHousekeeperDelete
等のパラメータで、HouseKeeper 処理の実行間隔と、1度の処理でどの程度のデータをまとめて消去するかを
設定可能ですので、「実施頻度を増やして、1度あたりの削除量を減らして、負荷の上昇をなるだけ平坦にする」が
簡単にできる範囲の対応策かと思います
残念ながら、サーバスペック・ディスクIO速度・DB周りのチューニング状況や、
アイテム数・監視間隔・1秒あたりのデータ量(NVPS)などによって、
「どう設定するのが最適か?」は変わってきてしまいますので、色々試行錯誤して、最適値を探すほかは無いと思います
ひろし - 投稿数: 11
fripper さん回答ありがとうございます。
ご教示いただいた対応策を実施したいところですが、稼働中の環境ですので
試行錯誤することはできない状態です。
事象の発生頻度も高くないので、とりあえずはこのまま様子を見ようと思います。
事象が多発し、監視サービスに影響がでるようであれば、ご教示いただいた対応策を実施します。
その際はまたお力を貸していただけらと思います。