2. アイテムの保存前処理 - 計算、差分、数値変換
V3.4より、アイテム画面の中で指定していた値の乗数や、差分保存の指定項目が、別タブの保存前処理という画面で指定するように変更になりました。
別画面になったことは不便ですが、その分、xpathやjson pashのサポートなど、非常に強力な機能が備わっています。
各設定をそれぞれ実際に確認してみたいと思います。
量がちょっと多いので、2回に分けて紹介します。今回は、Zabbixの初期から提供されている計算、差分、数値変換の各設定を確認します。
テスト用のアイテム
テスト用のアイテムは、値を自由に設定できる、Zabbixトラッパーアイテムを使います。
数値
計算
乗算
取得したデータを8倍します。
1.25を監視データにセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 1.25
10になりました。
割り算はできませんが、小数点以下の数値を乗数として設定することができます。
314をセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 314
1/100になりました。
変化
差分
差分は、前回取得した値との差を格納します。
確認前に、ヒストリデータを一度削除します。
最初に1をセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 1
この時点では何も表示されません。
次に6をセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 6
差分の5が格納されました。
この処理は、単純に監視間隔毎の増減値を記録しておきたい場合に使います。ディスクの残容量や、ログファイルの増加量などを記録するときは、この差分を使うケースが多いと思います。
1秒あたりの差分
1秒あたりの差分は、文字通り、差分をさらに監視間隔の秒数で割った値になります。
最初に1をセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 1
10秒後ぐらいに、今度は6をセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 6
差分を取得する間に経過した時間(秒)で割った値になります。
通信系のデータは、単純に累積値が戻ってくるケースが多いので、この1秒当たりの差分を使って、単位秒あたりの通信量(平均)として表示することが多いです。
数値変換
論理値から10進数
これは、TRUE/FALSEといった文字で返された値を、10進数値の1(真)か0(偽)に変換する便利な機能です。
対象の文字列は、マニュアルに以下のように記載されています。
TRUE - true, t, yes, y, on, up, running, enabled, available
FALSE - false, f, no, n, off, down, unused, disabled, unavailable
1 Creating an item [Zabbix Documentation 3.4]
0以外の数値も、すべて1になります。
アイテム設定
まず、trueをセットしてみます。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o "true"
1になりました。
次に、disabledをセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o "disabled"
今度は0になります。
8進数から10進数
次は、8進→10進変換です。
監視データに、20を送ります。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o 20
20(8)が、16(10)に変換されます。
16進数から10進数
最後に、16進から10進への変換です。
FFをセットします。
$ sudo zabbix_sender -z 192.168.0.9 -s Test001 -k trapper.float -o FF
255に変換されました。