計算項目を使用すると、他の項目の値を基に計算を行うことができます。
計算では、次の両方を使用できます。
このように、計算 item は仮想データソースを作成するための手段です。すべての計算はZabbix server のみによって行われます。
値は使用された算術式に基づき定期的に計算されます。
計算結果のデータは他のアイテムと同様にZabbixデータベースに保存され、ヒストリー値とトレンド値の両方が保存され、
グラフを作成することも可能です。
計算結果がfloat値の場合、計算された item の情報タイプが数値(符号なし)であれば、整数に切り詰められます。
計算 item は、トリガー式expressions と構文を共有しています。
計算 item は、文字列との比較も可能です。計算項目は、他の項目型と同様に、マクロや他のエンティティから参照することができます。
計算 item を使用するには、 item タイプ Calculated を選択します。
キーは、(ホストごとに)一意なアイテム識別子です。サポートされているシンボルを使用して、任意のキー名を作成することができます。
計算の定義は、Formulaの欄に入力してください。数式とキーの間には事実上何の関係もありません。
キーのパラメータは、数式では一切使用されません。
簡単な式の構文は以下の通りです。
ここで
function | One of the supported functions: last, min, max, avg, count, etc |
host | Host of the item that is used for calculation. The current host can be omitted (i.e. as in function(//key,parameter,...) ). |
key | Key of the item that is used for calculation. |
parameter(s) | Parameters of the function, if required. |
関数パラメータ、item フィルタパラメータ、定数を参照するために使用される場合、数式内の
User macros は展開されます。関数、ホスト名、item キー、item キーパラメータ、
演算子を参照する場合、ユーザーマクロは展開されません。
より複雑な式では、関数、演算子、および括弧を組み合わせて使用することができます。トリガー式でサポートされている
すべての関数と演算子 operatorsを使用することができます。
ロジックと演算子の優先順位は全く同じです。
Zabbixはトリガー式とは異なり、新しい値を受け取った時ではなく、item の更新間隔に従って計算された item を処理します。
計算 item 式の中で履歴関数によって参照される item は、すべて存在し、データを収集している必要があります。
また、参照される item の item キーを変更した場合、そのキーを使用しているすべての数式を手動で更新する必要があります。
計算された item は、いくつかのケースでサポートされなくなることがあります:
'/' のディスク空き容量のパーセンテージを計算します。
Use of function last:
Zabbixはフリーディスクスペースとトータルディスクスペースの最新値を取得し、指定された計算式に従ってパーセンテージを計算します。
Zabbixで処理された値の10分間の平均値を計算します。
Use of function avg:
長い時間の計算 item を多用すると、Zabbix server のパフォーマンスに影響を与える可能性があることに注意してください。
eth0の総帯域幅を計算する。
2つの関数の合計:
受信トラフィックのパーセンテージを計算する。
より複雑な表現:
Examples of aggregate calculationsを参照してください。