Zabbixでは、収集したデータを保存する方法として、ヒストリとトレンドの2つがあります。
ヒストリは収集した各値を保持するのに対し、トレンドは1時間単位で平均化された情報を保持するため、リソースをあまり消費しません。
ヒストリを何日間残すかを設定することができます。
古いデータは、housekeeperプロセスによって削除されます。
一般的なアドバイスとして、ヒストリはできるだけ少ない日数で保存し、多くのヒストリの値でデータベースに負荷をかけないようにすることが重要です。
例えば、ヒストリを14日間、トレンドを5年間保存することができます。
ヒストリとトレンドのデータでどれくらいの容量が必要かは、データベースのサイジングを参照してください。
グラフは古いデータを表示するためにトレンドの値を使用するので、短いヒストリの保存期間であっても、グラフで古いデータを確認することができます。
ヒストリの保存期間を'0'に設定すると、アイテムが更新されるのは 依存アイテムとインベントリのみを更新します。
トリガー条件式の評価はヒストリの値にのみ基づいて行われるため、トリガー関数は評価されません。
ヒストリを保存する別の方法として、ローダブルモジュールのヒストリエクスポート 機能を使うことを検討してください。
トレンドは、数値データタイプの1時間あたりの最小値、最大値、平均値、および合計値を保存するために組み込まれたヒストリデータ削減メカニズムです。
トレンドは何日間保存されるかを設定することができます。
トレンドは通常、ヒストリよりもはるかに長い期間保持することができます。古いデータはhousekeeperプロセスによって削除されます。
Zabbixサーバーは、データが流入するにつれて、実行時にトレンドデータをトレンドキャッシュに蓄積します。サーバーは、以下のような場合、すべてのアイテムの前の1時間のトレンド をデータベース(Webインターフェースが検索可能な場所)にフラッシュします:
グラフでトレンドを見るには、少なくとも次の時間の始まりまで(アイテムが頻繁に更新される場合)、最大でも次の時間の終わりまで(アイテムがほとんど更新されない場合)、つまり最大2時間待つ必要があります。
サーバーがトレンドキャッシュをフラッシュし、データベースにその時間のトレンドが既にある場合
(例えば、サーバーが時間の途中で再起動した場合)、サーバーは単純な挿入の代わりに更新ステートメントを使用する必要があります。
したがって、大規模なインストールで再起動が必要な場合は、トレンドデータの重複を避けるために、ある時間の終わりにサーバーを停止し、次の時間の初めに開始することが望ましいです。
ヒストリテーブルはトレンドの生成には一切関与しません。
トレンドの保存期間が '0' に設定されている場合、Zabbixサーバーはトレンドの計算や保存を全く行いません。
トレンドは元の値と同じデータ型で計算され、保存されます。その結果、符号なしデータ型の値の平均値の計算は丸められ、値の間隔が狭いほど結果の精度は低くなります。例えば、項目が0と1の値を持つ場合、平均値は0.5ではなく、0になります。
また、サーバーを再起動すると、符号なしデータ型の平均値の計算の精度が落ちることがあります。