LInux duコマンドで取得したサイズの単位処理に関して

お世話になっております。

Zabbix 5.4.3.
監視対象CentOS7

あるディレクトリのサイズ監視をsystem.run にてduコマンドを実行しているのですが

ターミナル上での挙動は以下の通りです。
※system.runからはオプション無しでdu実行しています。

$ du
44724 ./test

$ du -h
44M ./test

duコマンドのデフォルト単位はKBとの情報が有りましたので
アイテムの単位にはKBを設定しました。
最新データには44.72 KKBと表示されます。

44Mと表示されるのを期待したのですが、何か設定が間違っているでしょうか。
どうぞよろしくお願い致します。

コメント表示オプション

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

KMGの変換をさせたいのであれば、元の値がKB単位なら、アイテム
の値として1024倍した値を保存するようにしてみてください。
単位は、Bにしておきます。

ユーザー MSG の写真

どうもありがとうございます。

元データがKBなら1024倍にて保存するとは想像出来ませんでした。

シェルの四則演算で保存する様にしたところ正しくMB表示される様になりました。
参考になるか分かりませんが残しておきます。

system.run[check=`/usr/bin/du /var/spool/xxx/yyy/zzz/{#DOMAIN} | tail -n 1 | awk '{ print $1 }'` && sum=$(($check * 1024)) && echo $sum]

ユーザー TNK の写真

シェルの四則演算を使用しなくても、Zabbix側のアイテムの設定で、
保存前処理(Preprocessing)という機能を使用すると簡単です。
「乗数」(Custom multiplier)という選択肢を使用して、1024を指定
します。

英語ですが、マニュアルにもKMG変換時に使用する例が紹介されてい
ます。
https://www.zabbix.com/documentation/5.4/en/manual/config/items/preproce...

ユーザー MSG の写真

ありがとうございます。
この様な便利な機能が有るとは知りませんでした。
勉強になりました。