system.cpu.load[percpu,avg1]のデータ型が浮動小数点の意味とvm.memory.size[free]の単位Bの意味

[環境]
zabbix 2.2.10サーバ :centos 7.1
zabbix 2.2.7エージェント:win7 64bit
メモリ:8GB搭載
NUMBER_OF_PROCESSORS=4
Template OS Windows

[質問1]
下記、トリガ条件式の数値の意味を教えて頂けないでしょうか。
なぜグラフのCPUの値が浮動小数点なのでしょうか。
{192.168.1.99:system.cpu.load[percpu,avg1].avg(5m)}>5

アイテムキー:system.cpu.load[percpu,avg1]
データ型:浮動小数点
グラフを見ると、Processor load (1min average)最新値0.042  最小:0  平均 0.0096  最大0.0667

[質問2]
下記、トリガ条件式の「10000」の意味を教えて頂けないでしょうか。
{Template OS Windows:vm.memory.size[free].last(0)}<10000

アイテムキー:vm.memory.size[free]を見ると、単位Bです。
グラフを見ると、最新値 5.23GB  最小:4.92GB  平均 5.29GB  最大 5.53GB
単位はGBを意味しているのでしょうか。Y軸は7.8GBになっています。

基礎的な質問で申し訳ございませんが教えて頂けないでしょうか。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー heya の写真

[質問1]
>{192.168.1.99:system.cpu.load[percpu,avg1].avg(5m)}<5
アイテムでは、ロードアベレージ(1分間の平均をCPUの数で割ったもの)を「更新間隔」で設定した秒数だけ間隔をあけて取得しています。
その値の、過去5分間の平均が 5 を超えたら障害となります。
ロードアベレージは、普通は小数で表す(※)ものなので、データ型も 数値(浮動小数) となります。しかし、だからといってトリガーの右辺を小数で書かないといけないというわけではなく、普通に整数と小数の比較も可能です。

※ロードアベレージ=指定した時間内における実行待ちのプロセス数の平均

[質問2]
vm.memory.size[free] は空きメモリ(※)のサイズをバイト単位で取得します。last(0) はその最新値。
それが 10000 より小さい、つまり空きメモリが 10000 バイトより小さければ障害となります。
グラフの表示では GB と表示されるとのことですが、値をそのまま 5615669739 などと表示すると長くなってしまうので、GB 表記に直して(1024 の三乗で割って)表示しているだけです。
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/item
↑ここの、アイテム属性の表の「単位」のところを参照してください。

※「空きメモリ」の定義は人それぞれなので、正確には違うかもしれません。細かい話はここに書いてあります。
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/items/vm.mem...
余談ですが、利用可能なメモリを知りたいなら available を使うのがいいでしょう。

ユーザー masahiro の写真

heyaさん

ご回答ありがとうございます。

下記、内容について詳しく教えて頂けないでしょうか。
> それが 10000 より小さい、つまり空きメモリが 10000 バイトより小さければ障害となります。
>グラフの表示では GB と表示されるとのことですが、値をそのまま 5615669739 などと表示すると長くなってしまうので、GB 表記に直して(1024 の三乗で割って)表示しているだけです。

GB 表記に変換処理している事はよく分かりました。
→{Template OS Windows:vm.memory.size[free].last(0)}<100000
  例えば、1桁増やすと100000B(100MB)という意味になってしまいます。
トリガ条件式を設定する上で、変換後の処理はわかりません。
  もう少し、計算式の詳細を教えて頂けないでしょうか。
  (リンク先も確認しましたがいまいちよくわかりませんでした)

 お願いします。

 

ユーザー heya の写真

変換はあくまで表示上の話であって、トリガーでの比較のときは元の値(この場合バイト単位)で比較します。
実際に取得した値が仮に 15000 だったとしたら、これは 15000 バイトということですが、表示上は14.65MB と表示されます。でも、トリガーの条件式が {...}<10000 だと 15000 と 10000 を比べるので、この場合は正常となります。同様に {...}<100000 だと障害になります。