誰でも ZABBIX

Zabbixの使い方、役に立つ情報、等々

2. データ型の違い(整数と小数)

数値を扱うことが可能なデータ型には、2つの型があります。

整数で定義していたアイテムに小数を入れ場合、常にエラーになるわけではなく、小数点以下が切り捨てられて納され、エラーにならないケースもあります。どのようなケースがOKで、いつNGなのか、ちょっと確認をしてみました。

監視データの定義

いくつかの監視タイプで、まったく同じ(小数点を含む)値を取得するキーを設定します。

  1. シンプルチェック
  2. ZabbixAgent
  3. 計算
  4. 外部チェック

f:id:Unam:20180125215231p:plain

結果

実行結果は以下の通りです。

1. シンプルチェック:OK

f:id:Unam:20180125215548p:plain

2. ZabbixAgent:NG

基本的にNGのようですが、値自体に小数点以下の値が含まれない場合は、値を格納してくれるようです。
f:id:Unam:20180125220344p:plain

3. 計算:OK

計算式
f:id:Unam:20180125215836p:plain

結果
f:id:Unam:20180125215753p:plain

4. 外部チェック:NG

外部スクリプトは、固定で小数値を返す簡単な処理です。

$ cat resfloat 
#!/bin/sh
echo "12.713"

結果 f:id:Unam:20180125220713p:plain

WebAPIを使ってデータを取得する場合、外部スクリプトをよく使いますが、整数しかないと思っていたら、小数のデータがたまに返却されてデータが格納されていないケースがありました。外部スクリプトは、データ型に厳しいようなので、気をつけましょう。