2. 単位(Unit)
Zabbixは、取得したデータに指定した単位を付けて表示します。一部の単位名では、あらかじめ決められたルールでデータが変換されるので、内容を理解して、適切な単位を指定しましょう。
特殊変換される単位
特殊な変換が行われるのは、以下の3つのキーワードです。
単位 | 説明 |
---|---|
B(Byte)またはBps(Bytes per second) | 1024で割られる |
unixtime | yyyy.mm.dd hh:mm:ssに変換される |
uptime | N days, hh:mm:ss に変換される |
単位(Unit)の仕様は、以下のページに記載されています。
実際の監視データで確認
実際の監視データを見ながら、単位設定時の表示内容を確認します。
単位を指定しない場合
単位欄は空白です。
値を、zabbix_senderで送ります。
そのまま表示されます。
※zabbix_senderの使い方は、こちらも参照ください。
単位に B を指定
1024バイトで割った後に、単位が付きます。
ただし、履歴表示の画面では、単位なしで表示されます。
unixtime
zabbixエージェントのsystem.boottimeというキーは、システムが起動した日時をunixtimeで取得します。これをzabbix_getコマンドで確認します。
$ zabbix_get -s 127.0.0.1 -k system.boottime 1516362063
この数値を、dateコマンドで変換してみます。
$ date --date "@1516362063" Fri Jan 19 20:41:03 JST 2018
今度はZabbixの監視アイテムで、unixttimeという単位を設定します。
いつ起動されたのか、正確に理解することができます。
元の値は、数値のまま保存されているので、トリガー等で、値の比較を行う場合も特に問題はありません。
監視データでは、わかりやすく表示されます。
uptime
uptimeはシステムの稼動日数(時間)です。SNMPやZabbixで起動時点を0とした経過秒で取得できます。
$ zabbix_get -s 127.0.0.1 -k system.uptime 1039340 $ expr 1039340 / 86400 12
大体12日間です。
Zabbixでは、uptimeという単位を指定します。
無視される単位(blacklist)
通常、何らかの単位を付けると、数値は1000単位でK,M,Gという単位を勝手につけられてしまいます。 ただし、blacklistと呼ばれるRPM, rpm, %, msという単位の場合は、そのまま表示されます。
使い始めた頃、%は、元の値に100倍してくれるか勝手に思ったりしてましたが、そんなことはないです。0.1を10%と表示したければ、自分で100倍する必要があります。
変換してほしくない単位を自分でも登録したいのすが、V3.4まではソースコードを自分で変更するしか方法がなさそうです。 次期バージョンである4.0では、バージョンの前に!マークをつけると、数値をそのまま表示してくれるようなるようです。これは良いですね。