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つのアイテムが作成されます。 この項目は、指定されたマウントポイントの空きバイト数を返します。