4 ヒストリとトレンド
概要
ヒストリとトレンドは、Zabbixで収集したデータを保存する2つの方法です。
ヒストリは収集したすべての値を保持しますが、トレンドは1時間ごとの平均情報を保持するため、リソースの消費が少なくなります。
履歴の保持
履歴を何日間保持するかを設定できます:
- アイテムのプロパティフォーム
- アイテムの一括更新時
- ハウスキーパータスクの設定時
それより古いデータはハウスキーパーによって削除されます。
一般的な強い推奨事項としては、履歴はできるだけ短い日数に設定し、過去の値でデータベースを過負荷にしないことです。
長期間の履歴を保持する代わりに、トレンドデータを長期間保持することができます。 たとえば、履歴は14日間、トレンドは5年間保持することができます。
履歴データとトレンドデータでどれくらいのスペースが必要かは、データベースサイズのページを参照してください。
履歴を短く保持しても、グラフでは古いデータを確認できます。グラフは古いデータの表示にトレンド値を使用します。
履歴を「0」に設定すると、アイテムは従属アイテムとインベントリのみを更新します。 トリガーの評価は履歴データのみに基づいているため、トリガー関数は評価されません。
履歴を保持する別の方法として、ロード可能モジュールの履歴エクスポート機能の利用を検討してください。
トレンドの保持
トレンドは、数値データ型について、毎時ごとに最小値、最大値、平均値、値の合計数を保存する、組み込みの履歴データ削減メカニズムです。
トレンドを何日間保持するかは、以下で設定できます。
- アイテムのプロパティフォーム
- アイテムの一括更新時
- ハウスキーパータスクの設定時
トレンドは通常、履歴よりもはるかに長期間保持できます。 古いデータはハウスキーパーによって削除されます。
Zabbixサーバーは、データが流入するたびに、トレンドキャッシュにトレンドデータをランタイムで蓄積します。 サーバーは、以下の状況で、各アイテムの前の時間のトレンドをデータベース(Webインターフェースが参照できる場所)にフラッシュします。
- サーバーがアイテムの現在の時間の最初の値を受信したとき
- 現在の時間の残りが5分以下で、まだアイテムの現在の時間の値がない場合
- サーバーが停止したとき
グラフでトレンドを見るには、(アイテムが頻繁に更新される場合は)少なくとも次の時間の始まりまで、(アイテムがまれに更新される場合は)最大で次の時間の終わりまで、つまり最大2時間待つ必要があります。
サーバーがトレンドキャッシュをフラッシュし、その時間のトレンドがすでにデータベースに存在する場合(たとえば、サーバーが時間の途中で再起動された場合)、サーバーは単純な挿入の代わりに更新ステートメントを使用する必要があります。 したがって、大規模な環境では、トレンドデータの重複を避けるために、1時間の終わりにサーバーを停止し、次の時間の始まりに起動することが望ましいです。
履歴テーブルは、トレンド生成には一切関与しません。
トレンドを「0」に設定すると、Zabbixサーバーはトレンドを計算も保存もしません。
トレンドは、元の値と同じデータ型で計算および保存されます。 その結果、符号なしデータ型値の平均値計算は丸められ、値の間隔が小さいほど結果の精度が低くなります。 たとえば、アイテムの値が0と1の場合、平均値は0.5ではなく0になります。
また、サーバーの再起動により、現在の時間の符号なしデータ型の平均値計算の精度が失われる場合があります。