Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

4 History と trends

概要

Zabbixでは、収集したデータを保存する方法として、history と trend の2つがあります。

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

history を残す

history を何日間残すかを設定することができます。

  • item のプロパティ form で設定できます。
  • itemの一括更新時
  • ハウスキーパーのタスク設定 setting upを行う場合

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

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

例えば、history を14日間、trends を5年間保存することができます。

history とtrends のデータでどれくらいの容量が必要かは、database sizing pageを参照してください。

history の保存期間を短くしても、グラフで古いデータを確認することは可能です。
グラフでは trends 値を用いて古いデータを表示するため、history を短くしても古いデータをグラフで確認することができます。
グラフでは、古いデータを表示するために trends 値が使用されるためです。

history を'0'に設定すると、item が更新されるのは 従属 item とインベントリのみを更新します。
トリガー評価は history データのみに基づいて行われるため、トリガー関数は評価されません。

history を保存する別の方法として、history export 機能を使うことを検討してください。

trends は、ビルトインのhistory データ削減メカニズムで、数値データ型の時間ごとの最小値、最大値、平均値、および合計値を保存します。

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

  • item のプロパティ formで設定できます。
  • アイテムの一括更新時
  • ハウスキーパーのタスクを設定するとき

trends は通常、history よりもはるかに長い期間保持することができます。古いデータはハウスキーパーによって削除されます。

Zabbix server は trends データを trends キャッシュに蓄積し、データが流れてきたときに実行します。
server は以下のような場合、すべての item の1時間前の trends をデータベース(フロントエンドが検索可能な場所)にフラッシュします。

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

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

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

history テーブルは trends 生成には一切関与しません。

trends が '0' に設定されている場合、Zabbix server は trends の計算や保存を全く行いません。

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

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