2. データ型の違い(整数と小数)
数値を扱うことが可能なデータ型には、2つの型があります。
- 数値(整数)
- 数値(浮動小数)
整数で定義していたアイテムに小数を入れ場合、常にエラーになるわけではなく、小数点以下が切り捨てられて納され、エラーにならないケースもあります。どのようなケースがOKで、いつNGなのか、ちょっと確認をしてみました。
監視データの定義
いくつかの監視タイプで、まったく同じ(小数点を含む)値を取得するキーを設定します。
- シンプルチェック
- ZabbixAgent
- 計算
- 外部チェック
結果
実行結果は以下の通りです。
1. シンプルチェック:OK
2. ZabbixAgent:NG
基本的にNGのようですが、値自体に小数点以下の値が含まれない場合は、値を格納してくれるようです。
3. 計算:OK
計算式
結果
4. 外部チェック:NG
外部スクリプトは、固定で小数値を返す簡単な処理です。
$ cat resfloat #!/bin/sh echo "12.713"
結果
WebAPIを使ってデータを取得する場合、外部スクリプトをよく使いますが、整数しかないと思っていたら、小数のデータがたまに返却されてデータが格納されていないケースがありました。外部スクリプトは、データ型に厳しいようなので、気をつけましょう。