トレンドを利用しない場合の設定について

お世話になっております。

Zabbix 3.0.5にてhousekeeper起因のiowait高騰に悩まされており、
対策として、トレンドを利用しない方法を検討しています。

例といたしまして、アイテムのデータ保存期間を

ヒストリ:90日
トレンド:365日

としていたのを、

ヒストリ:365日
トレンド:0日

に変更することで、housekeeperの処理数が軽減されることを期待しています。
皆様の見解において、上記対策は有効に見えますでしょうか。
また、そもそもトレンドを0日に設定することは、当方の目的に即している設定方法なのでしょうか。

皆様のお知恵を拝借したく、何卒よろしくお願い申し上げます。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

マニュアルには、

If trends are set to '0', Zabbix server does not calculate or store trends at all.

とあります。
https://www.zabbix.com/documentation/3.0/manual/config/items/history_and...

実際に設定したりソースを確認したりはしていませんが、0に設定
することで、恐らくトレンドの計算や保存はされないと思います。
しかし、これを設定したからといってhousekeeperの処理はあまり
軽くならないのと思われます。

記載されていたように設定変更された場合、ヒストリの保存期間が
延び、一時的にhousekeeperでヒストリが削除されなくなるので負
荷は下がると思いますが、365日を越えれば、これまでと同様の負
荷状況になるのではないでしょうか。

各アイテムの監視間隔にもよると思いますが、トレンドのデータは
1時間単位でのサマリですので、ヒストリのデータの数の方が多い
ことが予想されます。
しかも、トレンドが存在するのは数値型のアイテムのみです。

他にもトレンドを使用しないことによる弊害が考えられます。
長期間のグラフを表示する際にトレンドが使用できないと、恐らく
指定された期間のすべてのヒストリの値を取得してグラフを描画し
ようとすると思われます。
そうすると、グラフを表示するためのシステムへの負荷が上昇して
しまうことも考えられますのでご注意ください。

その環境での削除処理で負荷を軽減するのであれば、監視間隔を延
長するなどによって、ヒストリのデータを削減することも検討が必
要かもしれません。

確認なのですが、データベースのチューニングは行われていますか?
データベースへのメモリ割り当ての拡大や、環境によっては、デー
タベースのテーブルの圧縮などのチューニングで改善する場合もあ
ると思います。

チューニングでも対応できない場合は、データベースのパーティシ
ョニングを使用して、過去データの削除は、Zabbixサーバーが持っ
ているhousekeeperの機能を使用するのではなくパーティショニン
グされたテーブルの削除処理を行うようにするという運用にする方
法も検討しても良いかもしれません。

ご検討ください。

ユーザー veracosta の写真

TNK様

ご返信誠にありがとうございます。

365日を越えれば、これまでと同様の負荷状況になるのではないでしょうか。

「トレンドの計算処理」と「古いトレンドデータの削除処理」が起こらないという点においては
多少の負荷軽減に繋がるかなと思っていますが、あまり効果は無いものでしょうか。

長期間のグラフを表示する際にトレンドが使用できないと、恐らく
指定された期間のすべてのヒストリの値を取得してグラフを描画し
ようとすると思われます。

これは例えば、ヒストリとトレンドのデータ保存期間を共に365日すれば
解決できるものでしょうか。

気軽に止められない環境なので直ぐには試せませんが、
その他頂いたDBのチューニング等の対策について、今後検討させて頂きます。

ありがとうございます。

ユーザー TNK の写真

「トレンドの計算処理」と「古いトレンドデータの削除処理」が起こらないという点においては
多少の負荷軽減に繋がるかなと思っていますが、あまり効果は無いものでしょうか。

多少の負荷軽減にはなるとは思いますが、それよりもヒストリデー
タの削除処理の負荷の方が大きいと思います。

これは例えば、ヒストリとトレンドのデータ保存期間を共に365日すれば
解決できるものでしょうか。

トレンドデータを必要とする長期間のグラフ表示に関しては、トレ
ンドデータを保持することで、より効率的な処理ができる状態に戻
るでしょう。

しかし、そもそもの最初の問題改善には一切ならず、さらにデータ
ベース上に保存するデータ量も増大するので、なおさら削除処理に
時間がかかって、最悪の場合、1時間に1回のhoukeeperの処理が1時
間で終わらない状態になりかねないと思います。

機能や設定でのチューニングと、ハードウェアの改善によるチュー
ニングとを費用や手間なども考慮してご検討ください。

ユーザー lilith relic の写真

一般的な回答としてはiowaitが高騰するならメモリのサイジングとDB設定の見直しでしょうか。

個人的な経験としては、監視アイテムの取得間隔の見直しとアイテム数の削減です。
理由としてはhousekeeprの稼動に伴うiowaitの高騰であれば、
対象となるレコード数を削減するのがそのまま対処になるので。