Linuxサーバの運用で、特に多い障害の1つが「ディスク容量不足」です。
ログが増え続けたり、バックアップが失敗したりすると、ある日突然ディスクがいっぱいになります。

実際の運用現場でも、

  • アプリが停止する
  • DBが書き込めなくなる
  • OSログインが不安定になる

といった問題につながります。

そのため、Zabbixのディスク監視は非常に重要です。

ただし初心者のうちは、

  • どの項目を監視すればいいのか
  • しきい値は何%が適切なのか
  • 誤検知をどう減らすのか

で悩みやすいです。

この記事では、監視運用の現場でよく使う考え方をもとに、Zabbixでのディスク監視設定を初心者向けに分かりやすく解説します。

単なる設定手順だけでなく、

  • なぜその設定をするのか
  • 実務でありがちな失敗
  • 運用負荷を減らす考え方

まで含めて説明します。

Zabbixでディスク監視が重要な理由

ディスク障害は運用現場で非常に多い

結論から言うと、ディスク監視は「最優先で設定すべき監視」の1つです。
理由は単純で、ディスク不足はサービス停止につながりやすいからです。

例えば、

  • /var が満杯になる
  • ログが出力できなくなる
  • DB更新に失敗する

といった障害は実際によくあります。
特にLinuxではログ出力が増え続けるため、気づかないうちに容量が逼迫します。

CPUやメモリより先に問題になることもある

CPUやメモリは負荷が下がれば回復します。
しかしディスク不足は自然回復しません。

不要ファイル削除や容量追加など、人手対応が必要です。
そのため、早めに気づける監視が重要になります。

Zabbixのディスク監視で確認する項目

ディスク使用率

最も基本的な監視です。

一般的には以下を監視します。

  • /
  • /var
  • /home
  • /data

などの主要マウントポイントです。
Zabbixでは主に以下キーを使います。

vfs.fs.size[/,pused]

これは「ディスク使用率(%)」を取得します。

空き容量

実務では「使用率だけ」で判断しないこともあります。
理由は、大容量ディスクでは10%でも数百GB空いている場合があるためです。

逆に小容量サーバでは5GBしか空いていないケースもあります。

そのため、

  • 使用率
  • 空き容量

の両方を見ることがあります。

inode枯渇

初心者が見落としやすいのがinodeです。
inodeとは、Linuxでファイル情報を管理する仕組みです。

小さいファイルが大量に増えると、容量が余っていてもinode不足になります。

特に注意が必要なのは、

  • メールサーバ
  • ログサーバ
  • キャッシュ大量生成

などです。

Zabbixでディスク監視を設定する方法

LinuxサーバにZabbix Agentを導入する

まずはZabbix Agentが必要です。
Agentがないと、OS内部情報を取得できません。

Ubuntu系なら以下です。

sudo apt install zabbix-agent

RHEL系なら以下です。

sudo dnf install zabbix-agent

設定後は起動します。

sudo systemctl enable --now zabbix-agent

テンプレートを適用する

初心者はまず公式テンプレートを使うのがおすすめです。

一般的には以下を利用します。

  • Linux by Zabbix agent

このテンプレートには、

  • ディスク監視
  • CPU監視
  • メモリ監視

など基本監視が含まれています。

ずきんちゃん

全部自分でアイテム作成しないとダメ?

ぬこさま

最初はテンプレート利用で十分だよ。実務でもまず公式テンプレートをベースにすることが多いかな。

ディスク監視アイテムを確認する

テンプレート適用後は、以下を確認します。

  • 最新データ
  • アイテム
  • グラフ

取得できていない場合は、

  • Agent疎通
  • Firewall
  • Hostname不一致

を確認します。

初心者はここで詰まりやすいです。

特に多いのが、zabbix_agentd.conf のHostname設定ミスです。

トリガーを設定する

実務では「何%で通知するか」が重要です。

例:

80% → Warning
90% → High

理由は、段階的に検知したいからです。
90%になって初めて気づくと、対応時間がほぼありません。

Zabbixの実務でよく使うディスク監視の設定例

使用率80%でWarning

80%は「確認しておく段階」です。

まだ緊急ではありません。

ただし、

  • ログ急増
  • バックアップ異常

の前兆がないか確認します。

使用率90%でHigh

90%はかなり危険です。

特にDBサーバでは即対応レベルです。

実務では、

  • 古いログ削除
  • 容量追加
  • 不要ファイル調査

を行います。

inode監視も有効化する

容量だけ監視して安心するのは危険です。
inode不足は初心者が見落としやすいです。

例えば、

df -i

で確認できます。

ずきんちゃん

容量空いてるのに障害になるの?

ぬこさま

inode不足だと新規ファイル作れなくなるからログ出力失敗も起きるよ。

初心者がハマりやすいポイント

tmp領域を監視しすぎる

/tmp は一時ファイルが増減します。
そのため誤検知しやすいです。

実務では、

  • 本当に必要な領域だけ監視
  • 一時領域は除外

することもあります。

一時的な容量増加で誤検知する

バックアップ中だけ容量増加するケースがあります。

そのため、

  • 5分継続で通知
  • 複数回連続で閾値超過

などの条件を入れます。

これは運用負荷削減でかなり重要です。

ログ肥大化を見落とす

実務ではログ肥大化が非常に多いです。

例えば、

  • debugログ有効化
  • ログローテーション失敗

などです。

監視だけでなく、ログ管理設計も重要になります。

Zabbixの運用負荷を減らす考え方

不要なマウントポイントは除外する

監視対象を増やしすぎると、通知だらけになります。

例えば、

  • Docker一時領域
  • tmpfs
  • 一時マウント

は除外することがあります。

アラートの数を増やしすぎない

通知が多すぎると、重要障害を見逃します。

実務では、

  • 本当に困るものだけ通知
  • 重要度を分ける

ことが大切です。

障害対応しやすいメッセージにする

アラート文は意外と重要です。

悪い例:

Disk alert

良い例:

/var usage over 90%

どこが危険かすぐ分かります。

Zabbixのディスク監視設定後の確認ポイント

テストアラートを確認する

設定だけで安心しないことが重要です。
実際に容量を増やして通知確認します。

例:

fallocate -l 2G testfile

グラフで増加傾向を見る

重要なのは「今」だけではありません。
徐々に増えているか確認します。

急増傾向が見えると、障害予兆に気づきやすいです。

ログローテーションも確認する

ログ管理が不十分だと再発します。
Linuxでは以下確認も重要です。

logrotate -f /etc/logrotate.conf

まとめ

Zabbixのディスク監視は、運用監視の中でも特に重要です。

特に初心者は、

  • 使用率だけ見ればいい
  • 全部監視すれば安心

と考えがちです。

しかし実務では、

  • inode不足
  • 誤検知対策
  • 運用負荷削減

まで考える必要があります。

まずは公式テンプレートを利用しつつ、

  • 本当に必要な監視
  • 運用しやすい通知

を意識すると、実務でも役立つ監視設計になります。


内部リンク案


この記事で初心者が特に注意すべきポイント3つ

  1. 使用率だけでなくinode不足も監視する
  2. 一時領域を監視しすぎて誤検知を増やさない
  3. 設定後は必ずテスト通知を確認する

実務で重要になる考え方

  • 「全部監視する」より「重要なものを監視する」
  • 誤検知を減らして運用負荷を下げる
  • 障害発生後ではなく、予兆段階で気づけるようにする

構築後に確認すべきチェック項目

  • Zabbix Agent疎通確認
  • 最新データ取得確認
  • トリガー動作確認
  • テスト通知確認
  • inode監視確認
  • 不要マウントポイント除外確認
  • ログローテーション確認
ABOUT ME
はつゆき
はじめまして、はつゆきと申します。 なんやかんやでシステムエンジニアとして10年務めています。 特に監視系やサーバ関連などを多く携わっています。 初めて監視系の案件に携わるよーって方へなるべくわかってもらえるようにこれまで経験してきたことなど伝えていければと思っています。