表1の「条件式」は、以下のようなフォーマットで記述します。
{<ホスト名>:<キー>.<関数>(<パラメータ>)}<演算式><定数>
例えば「Lack of free memory on server localhost」のExpressionは次のようになります。
{localhost:vm.memory.size[free].last(0)}<10000
これはホスト「localhost」のアイテム「vm.memory.size[free]」によって取得されたデータから、関数「last(0)」によって取り出された値が「10000」未満の場合にトリガーの状態がTRUEになることを意味しています。
つまり、localhostの空きメモリ容量が10KB以下になった場合に、問題が発生しているという定義を行っている条件式です。
このように、ZABBIXでは関数と演算式を用いて柔軟にトリガーの設定を行うことができます。上記の他にも以下のような条件式が利用できます。
({localhost:system[procload].last(0)}>5)|({localhost:system[procload].min(600)}>2)
これは、現在のロードアベレージが5以上、または直近の10分以内のロードアベレージの最小値が2以上の場合にTRUEとなります。
({smtp1:check_service[smtp].last(0)}=0)&({smtp2:check_service[smtp].last(0)}=0)
この場合には、クラスタリングされた「smtp1」と「smtp2」の両方のSMTPサーバから応答がない場合にTRUEとなります。
上記の他にも、利用できる関数には前回取得したデータとの差分や、指定期間の平均値/最大値/最小値、最終値の1つ前の値など様々なものがあります。より詳細な情報はZABBIXのマニュアルやZABBIX-JPのWebサイトを参照してください。
トリガーの修正や新規追加はアイテムと同様に行うことができます。なお、取得したデータの単位(バイト、Kバイトや0/1など)はアイテムごとに異なるため、トリガーの修正の際は注意が必要です。
|