1 ファイルシステムマウントの検出

概要

マウントされたファイルシステムとそのプロパティを検出することができます:

  • マウントポイント名
  • ファイルシステムタイプ
  • ファイルシステムサイズ
  • inode統計
  • マウントオプション

これを行うには、以下の組み合わせを使用します:

  • マスターアイテムとしてvfs.fs.getエージェントアイテム
  • 従属のローレベルディスカバリールールとアイテムプロトタイプ

設定

マスターアイテム

次のキーを使用して Zabbix エージェントアイテムを作成します。

vfs.fs.get

大きな JSON データの可能性があるため、情報の種類を "Text" に設定します。

このアイテムが返すデータには、マウントされたファイルシステムについて、次のような内容が含まれます。

[
  {
    "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 ルールで "Dependent item" タイプのアイテムプロトタイプを作成します。
このプロトタイプのマスターアイテムとして、作成済みの vfs.fs.get アイテムを選択します。

アイテムプロトタイプの名前とキーでカスタムマクロを使用している点に注意してください。

  • Name: Free disk space on {#FSNAME}, type: {#FSTYPE}
  • Key: Free[{#FSNAME}]

情報のタイプとして、次を使用します。

  • 'free'、'total'、'used' のようなメトリクスには Numeric (unsigned)
  • 'pfree'、'pused'(割合)のようなメトリクスには Numeric (float)

アイテムプロトタイプの Preprocessing タブで JSONPath を選択し、パラメータとして次の JSONPath 式を使用します。

$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

ディスカバリが開始されると、各マウントポイントごとに 1 つのアイテムが作成されます。
このアイテムは、指定したマウントポイントの空きバイト数を返します。