4 ヒストリとトレンド

概要

Zabbixでは、収集したデータを保存する方法として、ヒストリとトレンドの2つがあります。

ヒストリは収集した各値を保持するのに対し、トレンドは1時間単位で平均化された情報を保持するため、リソースをあまり消費しません。

ヒストリの保持

ヒストリを何日間残すかを設定することができます。

  • アイテムの設定画面 で設定できます。
  • アイテムの一括更新時
  • データの保存期間の設定を行う時

古いデータは、housekeeperプロセスによって削除されます。

一般的なアドバイスとして、ヒストリはできるだけ少ない日数で保存し、多くのヒストリの値でデータベースに負荷をかけないようにすることが重要です。

例えば、ヒストリを14日間、トレンドを5年間保存することができます。

ヒストリとトレンドのデータでどれくらいの容量が必要かは、データベースのサイジングを参照してください。

グラフは古いデータを表示するためにトレンドの値を使用するので、短いヒストリの保存期間であっても、グラフで古いデータを確認することができます。

ヒストリの保存期間を'0'に設定すると、アイテムが更新されるのは 依存アイテムとインベントリのみを更新します。
トリガー条件式の評価はヒストリの値にのみ基づいて行われるため、トリガー関数は評価されません。

ヒストリを保存する別の方法として、ローダブルモジュールのヒストリエクスポート 機能を使うことを検討してください。

トレンドの保持

トレンドは、数値データタイプの1時間あたりの最小値、最大値、平均値、および合計値を保存するために組み込まれたヒストリデータ削減メカニズムです。

トレンドは何日間保存されるかを設定することができます。

  • アイテムの設定画面で設定できます。
  • アイテムの一括更新時
  • データの保存期間を設定するとき

トレンドは通常、ヒストリよりもはるかに長い期間保持することができます。古いデータはhousekeeperプロセスによって削除されます。

Zabbixサーバーは、データが流入するにつれて、実行時にトレンドデータをトレンドキャッシュに蓄積します。サーバーは、以下のような場合、すべてのアイテムの前の1時間のトレンド をデータベース(Webインターフェースが検索可能な場所)にフラッシュします:

  • サーバーがそのアイテムの最初の現在時刻の値を受信したとき
  • 現在の時間が残り5分以下で、まだそのアイテムの現在の時間の値がないとき
  • サーバーが停止するとき

グラフでトレンドを見るには、少なくとも次の時間の始まりまで(アイテムが頻繁に更新される場合)、最大でも次の時間の終わりまで(アイテムがほとんど更新されない場合)、つまり最大2時間待つ必要があります。

サーバーがトレンドキャッシュをフラッシュし、データベースにその時間のトレンドが既にある場合
(例えば、サーバーが時間の途中で再起動した場合)、サーバーは単純な挿入の代わりに更新ステートメントを使用する必要があります。
したがって、大規模なインストールで再起動が必要な場合は、トレンドデータの重複を避けるために、ある時間の終わりにサーバーを停止し、次の時間の初めに開始することが望ましいです。

ヒストリテーブルはトレンドの生成には一切関与しません。

トレンドの保存期間が '0' に設定されている場合、Zabbixサーバーはトレンドの計算や保存を全く行いません。

トレンドは元の値と同じデータ型で計算され、保存されます。その結果、符号なしデータ型の値の平均値の計算は丸められ、値の間隔が狭いほど結果の精度は低くなります。例えば、項目が0と1の値を持つ場合、平均値は0.5ではなく、0になります。

また、サーバーを再起動すると、符号なしデータ型の平均値の計算の精度が落ちることがあります。