Zabbixで始める社内インフラ監視

  • このエントリーをはてなブックマークに追加
  • LINEで送る

1. 情シスが監視を整える意味

社内の IT 基盤を支える情シスにとって、「監視」は単なるオプションではなく、安定運用のための 最初の防波堤 です。
トラブルはいつ起こるかわからず、気づくのが遅れれば遅れるほど復旧コストは大きくなります。
サーバが止まり、ネットワークが繋がらない。
そんな場面で、最も困るのは“気づくのが遅い”ことです。

しかし現場では、監視は「後回し」になりがちです。
・とりあえず Ping だけ見ている
・アラートが多すぎて放置されている
・障害の原因を毎回手作業で調べている
こうした状態のままでは、障害対応はいつまでも属人化し、情シスの負荷は増える一方です。

だからこそ、Zabbix のような統合監視ツールを使って “監視を設計する” ことが重要になります。
監視を整えることは、単にアラートを飛ばす仕組みを作るだけではありません。

 ▶︎ 障害の兆候を早期に検知する
 ▶︎ 何が問題かを客観的なデータで捉える
 ▶︎ 担当者が変わっても同じ品質で運用できる
 ▶︎ 「なぜ落ちたのか」を説明できるログを残す

こうした仕組みを作ることで、情シスは “トラブル対応に追われる組織” から “事前に不具合を防ぐ組織” へと変わります。

 


2. Zabbix の全体アーキテクチャ

Zabbixは「監視のために必要な機能」をシンプルな構成でまとめた統合監視ツールです。
情シスが社内インフラを監視する際に扱う要素は多岐にわたりますが、Zabbixではそれぞれが明確な役割を持って分担しています。

Zabbix の全体アーキテクチャ

1)Zabbix Server(監視の中枢)
監視データの収集・分析・トリガー判定・アラート送信など、Zabbixの中核となる部分です。
情シスの観点では「監視サーバ=Zabbix Server」と捉えてOKです。

2)Zabbix Agent(サーバの状態を送る役)
監視対象のサーバ(Linux/Windows)に導入し、
■ CPU
■ メモリ
■ ディスク
■ プロセス
■ ログ
などの情報を Zabbix Server に送信します。
社内サーバやPC監視では避けて通れない存在です。

3)Frontend(Web管理画面)
監視設定やダッシュボード操作を行うGUI。
実務で最も触れる部分で、Zabbix管理者の日常業務はほとんどFrontend上で完結します。

4)データベース(MariaDB/PostgreSQL)
監視データや履歴、設定を保存する領域です。
監視対象が増えるほどDBの負荷がボトルネックになるため、“ZabbixはDBを育てるツール”といっても過言ではありません。

よく使う構成パターン

1)小規模(〜50台)
◾Server + DB + Frontend(1台にまとめる)
◾Agentを各サーバに導入
→ 構築が簡単でコストも低い

2)中規模(50〜300台)
◾Server(監視中枢)
◾DB(別サーバ)
◾Proxy(拠点ごと配置)
→ 大規模化しても安定する

3)クラウド・オンプレ混在
◾本社:Zabbix Server
◾AWSやGCP:Direct connect/VPN経由で監視
◾拠点:Zabbix Proxy
→ 近年最も一般的な構成

📌まとめ

情シス業務では、監視の仕組みをブラックボックス化すると障害対応で間違いなく詰まります。

■ どこでデータを集めて
■ どこで判定して
■ どこでどこで判定して

この全体像を押さえておくことで、構築・運用も格段に進めやすくなります。

 


3. 監視すべき「基本の監視項目」

企業の IT システムを安定運用するうえで、「まず最初にどこを監視すべきか」は非常に重要です。
監視の範囲を広げすぎると設定やアラートが複雑化し、逆に抜け漏れがあると障害の早期発見ができません。
そこで、情シスが最初に整えるべき “基本の監視項目” は、以下の 5つのカテゴリ に整理できます。

リソース監視(CPU / メモリ / ディスク)

■ 理由
システム障害の8〜9割は「リソース枯渇」から始まります。
特にディスク枯渇は即サービス停止につながるため最重要。

■ 具体的に監視すべき項目
 ▶︎ CPU 使用率(高負荷状態・スパイク検知)
 ▶︎ メモリ使用率 / スワップ発生量
 ▶︎ ディスク使用率(閾値80%/90% 過ぎ)
 ▶︎ ディスク I/O 待ち(遅延の原因)

■ 実務メモ

ディスクは特に alert を細かく
  80%:Warning
  90%:Critical
に分けて通知するのが現場の定番です。

プロセス監視(サービスの生死)

■ 理由
本番障害の多くは「肝心のサービスが落ちていた」という単純な原因で発生します。

■ 監視対象例
 ▶︎ Web サーバ(nginx, Apache)
 ▶︎ DB サーバ(MySQL, PostgreSQL)
 ▶︎ バッチ処理サービス
 ▶︎ 社内システムの daemon
 ▶︎ AD / DNS / DHCP などの基盤サービス

■ ポイント

「応答しない」だけでは不十分で、プロセスそのものが存在するかを Zabbix Agent で取ると精度が上がります。

ネットワーク監視(Ping / ポート応答 / 帯域)

■ 理由
回線障害・ネットワーク分断は、オンプレ・クラウド問わず最も多いインシデント。

■ 監視ポイント
 ▶︎ Ping 監視(死活)
 ▶︎ TCP ポートの応答(80/443/22など)
 ▶︎ ネットワーク帯域の利用率
 ▶︎ インターフェース障害(Up/Down)

■ 社内での定番

 ▶︎ ルータ / FW / L2SW の死活
 ▶︎ 社内主要サーバの 80/443/22 応答
 ▶︎ VPN 装置の状態
 ▶︎ インターネット回線の冗長切替の検知

ログ監視(エラー発生の早期検知)

■ 理由
障害は「ログに必ずヒントがある」ため。
サービス落ちより先にログが異常を吐くケースが多いです。

■ 監視例
 ▶︎ /var/log/messages
 ▶︎ /var/log/secure(不正ログイン検知)
 ▶︎ nginx/apache の error.log
 ▶︎ アプリケーション独自ログ

■ ポイント

Zabbix のログ監視は特定ワードを拾う → アラート → 自動復旧処理を実行という運用と相性が良いです。

ハードウェア監視(温度 / RAID / 電源)

■ 理由
ハード故障は予兆が出ることが多く、早期発見できれば夜間障害を大幅に減らせます。

■ 監視ポイント
 ▶︎ サーバ温度(高温状態)
 ▶︎ RAID の劣化(degraded)
 ▶︎ HDD SMART 状態
 ▶︎ 電源異常 / ファン異常

■ 実務メモ

メーカー提供ツール(iLO / iDRAC / IMM)経由の SNMP 監視は必須レベル。

📌まとめ

最初に優先すべき監視は次の3つ:
 1. Ping とポート応答(死活)
 2. CPU / メモリ / ディスク(リソース)
 3. 主要サービスの生死(プロセス)

この3つだけでも「止まっているのに気付けない」という最悪の事態を防げます。

 


4. 監視テンプレートの選定

Zabbix の監視は、基本的に テンプレートの選び方で品質が決まる と言っても過言ではありません。
テンプレートは「監視項目のパッケージ」であり、適切なものを選べば設定の8割は完了します。
一方で、過剰なテンプレートを適用すると、監視項目が数百〜数千に膨れ上がり、サーバ負荷やアラートのノイズ増加につながるため注意が必要です。

まずは標準テンプレートから選ぶ

Zabbix 6.x/7.x では、以下のような 公式テンプレート が整備されており、多くのケースはこれらだけで十分カバーできます。

■ OS 監視
 ▶︎ Template OS Linux by Zabbix agent / agent2
 ▶︎ Template OS Windows by Zabbix agent
リソース、プロセス、ログ、ネットワークなど基本監視が一通り揃っており、情シス環境ではまずこれを適用すればOKです。

■ ネットワーク機器監視
 ▶︎ Template Net Cisco SNMP
 ▶︎ Template Net Fortinet SNMP
 ▶︎ Template Net Juniper SNMP
 ▶︎ Template Net Generic SNMP
特定メーカー専用(Cisco / FortiGate)と、汎用 SNMP(Generic)の2種類があります。

テンプレート適用は“最低限”にする

テンプレートを乗せすぎると、監視項目(Item)が1台あたり数百〜千に到達し、次の問題が出ます。

 ▶︎ 監視サーバの負荷増大
 ▶︎ アラートが多発して運用不能
 ▶︎ 不要なデータがDBに溜まり爆発

特に「Template App ○○」系のアプリ監視は設定項目が多くなりがちなので、必要な監視だけ後で追加する方が安定します。

アプリケーション監視は段階的に導入する

OS 監視を安定させた後、次にアプリケーション監視を追加していきます。

■ 例:Web サーバの監視
 ▶︎ Template App Apache by HTTP
 ▶︎ Template App Nginx by HTTP

■ 例:データベース監視

 ▶︎ Template DB MySQL by Zabbix agent
 ▶︎ Template DB PostgreSQL
 ▶︎ Template DB SQLServer

■ 例:仮想基盤

 ▶︎ Template Virt VMware
 ▶︎ Template Virt Hyper-V
これらは導入すると監視項目が増えるため、
段階的に追加 → アラートチューニング の流れが必須です。

自社システムは“テンプレート自作”が最適解

 ▶︎ 自社Webサービス
 ▶︎ バッチ処理
 ▶︎ 社内の独自プログラム
 ▶︎ 外部APIの応答監視
こういった 標準テンプレートが存在しないシステム は、専用のテンプレートを自作する方が後々の運用が圧倒的に楽になります。

自作テンプレートの基本ルール
 ▶︎ OS 用テンプレート+アプリ用テンプレートのセット構成にする
 ▶︎ アプリ固有の監視は別テンプレートに切り出す
 ▶︎ 運用保守用に「閾値」はテンプレートで統一する
 ▶︎ ホストごとに監視をバラバラにしない(再利用性確保)

テンプレート選定の最適なフロー

以下が、実務で使う最も効率的な選び方です。

STEP1:OSの標準テンプレートを適用する
→ 死活・リソース・ログなど基本監視を網羅

STEP2:ネットワーク機器は SNMP テンプレートを割り当てる
→ Cisco/FortiGate 等の公式テンプレートが最優先

STEP3:主要アプリケーションを段階的に追加
→ Apache / Nginx / MySQL / AD など

STEP4:自社システムは専用テンプレートを作る
→ 再利用性と運用効率が飛躍的に向上

📌まとめ

テンプレートを正しく選ぶだけで、これらが劇的に改善します。
 ◾ 設定工数
 ◾ 運用負荷
 ◾ アラートの質
 ◾ 監視全体の安定性

「標準テンプレート → 必要なアプリだけ段階的追加 → 独自テンプレート」
この流れが、情シスが最も失敗しない定番アプローチです。

 


5. アラート設計のポイント

Zabbix を導入して最初に直面する課題が“アラートが多すぎて運用できない”という問題です。
アラート設計は、監視の品質と運用負荷を左右する最重要ポイントであり、**「適切な閾値」と「通知先の整理」**が整っていれば、監視運用は驚くほど安定します。

以下では、実務で失敗しないためのアラート設計の要点をまとめます。

まずは“本当に通知が必要なアラート”を絞る

最初のCommon Mistakeは、テンプレートにある項目を 全部アラート通知してしまうことです。

これをすると、“監視の破綻”が確実に起こります。
 ▶︎ 通知量が膨大
 ▶︎ アラート疲れで誰も見なくなる
 ▶︎ 本当に重要なアラートが埋もれる

■ 最初に通知すべきアラートはこの5つ

 1. サーバの死活(ping 不応答)
 2. 主要ポートの死活(80 / 443 / 22 / DB)
 3. ディスク使用率 90%以上
 4. CPU・メモリが異常レベル(90%継続)
 5. 主要サービス(Web/DB)の停止
これだけで「止まっているのに気づかない」事態はほぼ防げます。

閾値は“段階分け”する(Warning / High)

アラートを段階に分けると現場が格段に楽になります。

例:ディスク使用率
 ■ Warning:80%
 ■ High(Critical):90%

例:CPU 使用率
 ■ Warning:85%(5分継続)
 ■ High:95%(5分継続)

なぜ段階分けが重要なのか?
 ■ 早めの対処(Warning)
 ■ 緊急対応(High)
 の切り分けができ、アラートの重要度が一目でわかるためです。

“継続時間”を入れるとノイズが激減する

Zabbix の初心者が最もハマりやすいのが、CPU使用率やネットワーク遅延などの 一瞬のスパイク で通知されてしまう問題です。

対策:一定時間継続を条件にする

 例)CPU 使用率が 95%
 → 300秒(5分)以上継続したら通知

 例)ping の遅延
 → 単発ではなく 3回連続NGで通知

これだけでノイズが大幅に減り、“見る価値のあるアラート”だけが上がる環境になります。

通知先と時間帯を分ける

実務では通知の「送り先の設計」が非常に重要です。

■ 営業時間内の通知
 ▶︎ 情シス担当者
 ▶︎ Teams / Slack などのチャット

■ 営業時間外(深夜)の通知

 ▶︎ 重要度Highのみ通知
 ▶︎ メール通知に絞る
 ▶︎ 可能ならオンコール担当
Zabbix の “メンテナンス機能” を使えば、バックアップ時間帯・バッチ時間帯のアラートを抑止することも可能です。

アラートメッセージは“対応に必要な情報”を含める

通知内容がわかりづらいと、原因特定に毎回ログインする必要が出てきます。

通知メッセージには以下を含めると実務で強い:
 ◾ ホスト名
 ◾ IP アドレス
 ◾ どのサービスか
 ◾ どの閾値に引っかかったか

例:実務向けの通知テンプレート
【Zabbix Alert – High】
ホスト: {HOST.HOST}
IP: {HOST.IP}
トリガー: {TRIGGER.NAME}
発生時刻: {EVENT.DATE} {EVENT.TIME}
現在の値: {ITEM.LASTVALUE}

🔴 アラート設計で絶対に避けるべきこと

 ◾ テンプレートにある監視を全部有効化する
 ◾ スパイクを拾ってしまう閾値設定(継続条件なし)
 ◾ 検知はできるが誰も見ないアラート通知
 ◾ 通知が多すぎて “無視される監視” になる
これらを避けるだけで、監視の品質は劇的に向上します。

📌まとめ

最初に設定するアラートは少なくて構いません。
必要なものだけ通知し、閾値と継続条件を見直しながら精度を高めていくと、“運用できる監視”が完成します。

 


6. 最後に

システム監視は、日々のトラブル対応を後追いから先回りへ変えるための基盤です。
特に Zabbix は、無料でありながら大企業レベルの監視機能を持ち、小規模から大規模まで柔軟に拡張できる点が大きな強みです。

監視項目の選定、テンプレート活用、アラート設計を丁寧に行えば、“必要な通知だけが届き、異常の原因をすぐに特定できる環境” を作り上げることができます。
これは情シスにとって、日々の運用の負担を減らし、障害発生時の初動を高速化するための強力な武器になります。

最初は小さく、サーバやネットワーク機器から順に監視を整えていけば十分です。
監視が整えば整うほど、組織全体の「見える化」が進み、トラブルの未然防止や、障害に強い IT 基盤づくりへと確実につながります。

今日からできる範囲で、まずは “基本の監視” から始めてみましょう。
Zabbix は、あなたの運用を確実に強力なものへ変えていきます。

  • このエントリーをはてなブックマークに追加
  • LINEで送る