1 ファイルシステムマウントの検出
概要
マウントされたファイルシステムとそのプロパティを検出することができます:
- マウントポイント名
- ファイルシステムタイプ
- ファイルシステムサイズ
- inode統計
- マウントオプション
これを行うには、以下の組み合わせを使用します:
- マスターアイテムとして
vfs.fs.getエージェントアイテム - 従属のローレベルディスカバリールールとアイテムプロトタイプ
設定
マスターアイテム
以下のキーを使用してZabbixエージェントアイテムを作成します。
vfs.fs.get

大きなJSONデータになる可能性があるため、情報の型を「テキスト」に設定します。
このアイテムによって返されるデータは、マウントされたファイルシステムについて以下のような内容を含みます。
[
{
"fsname": "/",
"fstype": "ext4",
"bytes": {
"total": 249405239296,
"free": 24069537792,
"used": 212595294208,
"pfree": 10.170306,
"pused": 89.829694
},
"inodes": {
"total": 15532032,
"free": 12656665,
"used": 2875367,
"pfree": 81.487503,
"pused": 18.512497
},
"options": "rw,noatime,errors=remount-ro"
}
]
依存LLDルール
「依存アイテム」タイプとして低レベルディスカバリールールを作成します。

マスターアイテムとして、作成したvfs.fs.getアイテムを選択します。
「LLDマクロ」タブで、対応するJSONPathを持つカスタムマクロを定義します。

「フィルター」タブでは、読み書き可能なファイルシステムのみをフィルタリングする正規表現を追加できます。

依存アイテムのプロトタイプ
このLLDルールで"依存アイテム"タイプのアイテムプロトタイプを作成します。 このプロトタイプのマスターアイテムとして、作成したvfs.fs.getアイテムを選択します。

アイテムのプロトタイプ名とキーでカスタムマクロが使用されていることに注意してください。
- Name: Free disk space on {#FSNAME}, type: {#FSTYPE}
- Key: Free[{#FSNAME}]
情報の種類として、次を使用します。
- 数値 (整数) 次のメトリックの場合 'free', 'total', 'used'
- 数値 (浮動小数) 次のメトリックの場合 'pfree', 'pused' (percentage)
アイテムのプロトタイプの"保存前処理"タブで、JSONPathを選択し、次のJSONPath式をパラメーターとして使用します。
$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

検出されるとマウントポイントごとに1つのアイテムが作成されます。 この項目は、指定されたマウントポイントの空きバイト数を返します。