解決方法:外部からマウントした領域のディスク容量をXymonで監視したい

見出し


Xymonクライアントの機能でディスクの空き容量をXymonサーバで監視する場合、デフォルト設定ではローカルファイルシステムしか表示されません。
マウントした外部ストレージなどを監視するためには、クライアントのスクリプトファイルを修正する必要があります。
[root@test-server ~]# df -h
ファイルシス                サイズ  使用  残り 使用% マウント位置
devtmpfs                      3.9G     0  3.9G    0% /dev
tmpfs                         3.9G     0  3.9G    0% /dev/shm
tmpfs                         3.9G   33M  3.8G    1% /run
tmpfs                         3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root        35G  2.5G   33G    7% /
/dev/sda1                    1014M  151M  864M   15% /boot
192.168.10.10:/NFS_test     4.9T  2.8T  2.2T   57% /data ←これを監視したい
tmpfs                         783M     0  783M    0% /run/user/1002
tmpfs                         783M     0  783M    0% /run/user/0

以下は、NFSマウントした領域を表示させる設定例です。
xymonclient-linux.sh

【修正前】
echo "[df]"
EXCLUDES=`cat /proc/filesystems | grep nodev | awk '{print $2}' | xargs echo | sed -e 's! ! -x !g'`
df -Pl -x iso9660 -x $EXCLUDES | sed -e '/^[^   ][^     ]*$/{

【修正後】
echo "[df]"
EXCLUDES=`cat /proc/filesystems | grep -v nfs | grep nodev | awk '{print $2}' | xargs echo | sed -e 's! ! -x !g'`
df -P -x iso9660 -x $EXCLUDES | sed -e '/^[^   ][^     ]*$/{

次回更新時から、修正後のスクリプトで処理されます。
Xymonクライアントのサービスを再起動させると、すぐに反映されます。
【修正後のXymonサーバ上の表示結果】
Filesystem                  1024-blocks       Used  Available Capacity Mounted on
/dev/mapper/centos-root        36678148    2524720   34153428       7% /
/dev/sda1                       1038336     153676     884660      15% /boot
192.168.10.10:/NFS_test      5243718912 2962502208 2281216704      57% /data

~解説~

Xymonクライアントは、スクリプトファイルによって各種システム情報をテキストとして出力し、その情報をXymonサーバに転送しています。
よって、そのスクリプトを書き換えることで、Xymonサーバに転送する情報を操作することができます。
今回の場合は、dfコマンドを実行する部分で、出力から除外される対象からnfsを省きました。
さらに、-lオプション(ローカルファイルシステムのみを表示する)も削除しました。

具体的に何を指定すべきかは、/proc/filesystemsを参照して判断しましょう。
[root@test-server ~]# cat /proc/filesystems | grep nodev
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   dax
nodev   bpf
nodev   pipefs
nodev   configfs
nodev   devpts
nodev   hugetlbfs
nodev   autofs
nodev   pstore
nodev   mqueue
nodev   fuse
nodev   fusectl
nodev   rpc_pipefs
nodev   nfs
nodev   nfs4
nodev   binfmt_misc