「Zabbixを構築して監視環境を作ってほしい」

新人エンジニアが監視運用の現場に入ると、最初に触ることが多いのがZabbixです。

ただ、実際に構築してみると、

  • DB設定で接続できない
  • Agentが通信しない
  • アラートが大量発生する
  • SELinuxやFirewallで詰まる

このような“実務でありがちな壁”によくぶつかります。

特に初心者のうちは、「なぜその設定をしているのか」が分からないまま手順だけ進めてしまい、障害発生時に対応できなくなるケースも少なくありません。

この記事では、監視運用の現場経験をもとに、

  • Zabbix構築の基本手順
  • 初心者が詰まりやすいポイント
  • 実務で重要になる考え方
  • 運用負荷を減らす設定の考え方

を初心者向けに分かりやすく解説します。

「とりあえず動いた」ではなく、「運用できる監視環境」を作れるようになることを目指します。

まずは監視全体の流れを知りたい方はこちら
→ 「Zabbix構築手順を初心者向けに完全解説【Linux監視入門】

Zabbixとは何か

Zabbix は、サーバやネットワーク機器を監視するための統合監視ツールです。

CPU使用率やメモリ、ディスク容量、プロセス異常などを監視できます。

Zabbixでできること

主な監視内容は以下です。

  • CPU使用率監視
  • メモリ監視
  • ディスク容量監視
  • プロセス監視
  • Ping監視
  • ログ監視
  • SNMP監視

運用現場では、

「サーバが落ちる前に異常を検知する」

ために利用されます。

なぜ監視が必要なのか

監視の目的は「通知を飛ばすこと」ではありません。

本来の目的は、

  • 障害を早期発見する
  • ユーザー影響を減らす
  • 原因調査をしやすくする

ことです。

例えばディスク使用率90%で通知する場合も、

「なぜ90%なのか」

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

容量不足でサービス停止する前に、運用担当が対応できる猶予を作るためです。

Zabbix構築前に準備するもの

必要なサーバ構成

初心者検証なら以下構成がおすすめです。

役割内容
Zabbix Server監視本体
DBMySQL/MariaDB
WebApache
Agent監視対象

実務ではDBを別サーバに分けることもあります。

ただし初心者検証では1台構成で十分です。

推奨スペック

検証用途なら以下程度でも動作します。

項目推奨
CPU2core
メモリ4GB以上
ディスク20GB以上

監視対象が増えるとDB容量が急増します。

初心者はCPUより「ディスク容量不足」で困るケースが多いです。

Linuxは何を使うべきか

初心者なら以下が扱いやすいです。

  • AlmaLinux
  • Rocky Linux
  • Ubuntu

実務ではRHEL系を採用している現場も多いため、AlmaLinuxやRocky Linuxに慣れておくと役立ちます。

Zabbix構築の全体手順

構築の流れ

基本的な流れは以下です。

  1. Linux準備
  2. DBインストール
  3. Zabbixインストール
  4. Web設定
  5. Agent設定
  6. 監視設定
  7. アラート確認

初心者は「どこで失敗したか」を切り分けながら進めるのが重要です。

初心者が最初につまずくポイント

特によくあるのが以下です。

  • Firewall未開放
  • SELinux制限
  • DBパスワード間違い
  • Agent通信不可
  • タイムゾーン不一致

最初にハマりやすいポイント

ずきんちゃん

インストールしたのにWeb画面にアクセスできない…

ぬこさま

まずFirewallを疑おう。Zabbixは「インストール成功=通信成功」じゃないんだ。ポート開放確認はかなり重要だよ。

LinuxへZabbixをインストールする手順

ここではAlmaLinux系を例にします。

Linuxへの導入を詳しく知りたい方はこちら
→ 「ZabbixインストールをLinuxで完全解説【初心者向け】

リポジトリ追加

まずは公式リポジトリを追加します。

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
dnf clean all

リポジトリ追加をする理由は、依存パッケージを正しく取得するためです。

Zabbix Serverインストール

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y

初心者は「何が入ったか」を把握せず進めがちです。

実際には以下が導入されています。

  • Server本体
  • Web画面
  • Agent
  • DB用SQL

DB設定

MariaDBをインストールします。

dnf install mariadb-server -y
systemctl enable mariadb
systemctl start mariadb

DB作成例です。

create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;

その後、初期データを投入します。

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

Apache・PHP設定

systemctl enable httpd
systemctl start httpd

PHPタイムゾーン設定も重要です。

vi /etc/php.ini
date.timezone = Asia/Tokyo

タイムゾーン未設定だと、

  • グラフ時刻ズレ
  • 障害解析困難

につながります。

サービス起動

以下のコマンドでZabbixサービスを起動します。(どちらかで実行できます)

systemctl enable zabbix-server zabbix-agent
systemctl start zabbix-server zabbix-agent

実行後、Zabbixのサービス状態確認します。

systemctl status zabbix-server

サービス状態の確認漏れがあった場合、「Zabbixが起動してない!」とか後から慌てることはなくなるので確認しておきましょう。

Zabbix Agent設定手順

Agentとは

Zabbix Agent は監視対象サーバ側で動作するプログラムです。

CPUやメモリ情報を取得します。

監視設定をさらに詳しく知りたい方はこちら
→ Zabbixテンプレート記事
→ Zabbixトリガー記事

Agent設定例

以下で設定ファイルを開きます。

vi /etc/zabbix/zabbix_agentd.conf

設定例です。

Server=192.168.1.10
ServerActive=192.168.1.10
Hostname=web01

通信確認

systemctl restart zabbix-agent

確認ポイントです。

  • 10050ポート開放
  • Firewall確認
  • 名前解決確認

Agentがつながらない

ずきんちゃん

Agentが赤色のまま…

ぬこさま

設定ファイルだけじゃなく、Firewallも見よう。実務だと「設定は正しいけど通信できない」がかなり多いよ。

Web画面の初期設定

ブラウザでアクセスします。

http://IPアドレス/zabbix

初回ログイン

初期アカウントです。

項目
UserAdmin
Passwordzabbix

ログイン後は必ず変更しましょう。

日本語設定

ユーザ設定から日本語へ変更できます。

初心者は英語UIで混乱しやすいため、最初は日本語がおすすめです。

タイムゾーン設定

タイムゾーンがズレると障害解析が難しくなります。

ログ時刻が一致しないためです。

Zabbix監視設定の基本

ホスト登録

監視対象サーバを登録します。

テンプレート設定

テンプレートは監視設定のセットです。

実務ではテンプレート管理が非常に重要です。

理由は運用負荷削減につながるからです。

トリガー設定

トリガーは異常判定条件です。

例:

  • CPU90%以上
  • ディスク使用率85%以上

ただし閾値を厳しくしすぎると誤検知が増えます。

なぜ誤検知が増える?

初心者エンジニア:

「通知が多すぎて見なくなりました…」

ずきんちゃん

通知が多すぎて見ない…

ぬこさま

それは運用現場でかなり危険。通知疲れが起きると、本当の障害を見逃しやすくなよ。

Zabbixの実務でよくある失敗

アラートが多すぎる

初心者は「全部監視したくなる」傾向があります。

ですが監視項目が多いほど、

  • 通知増加
  • DB肥大化
  • 運用負荷増加

につながります。

誤検知が発生する

瞬間的CPU高騰で通知すると誤検知になります。

実務では、

「5分継続したら通知」

などの工夫を行います。

通知だけで満足してしまう

監視は通知がゴールではありません。

重要なのは、

  • 原因特定できるか
  • 復旧判断できるか

です。

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

テンプレート活用

テンプレート統一は重要です。

サーバごとに個別設定すると管理不能になります。

閾値調整

閾値は環境ごとに変える必要があります。

例えばDBサーバはCPU高負荷になりやすいため、Webサーバと同じ閾値では誤検知が増えます。

不要監視を減らす

「監視できる」と「監視すべき」は別です。

本当に必要な項目に絞ることが重要です。

まとめ

Zabbix構築は単なるインストール作業ではありません。

重要なのは、

  • なぜ監視するのか
  • どの障害を検知したいのか
  • 運用負荷をどう減らすか

を考えることです。

初心者のうちは「まず動かす」ことも大切ですが、同時に、

  • なぜその設定をするのか
  • どんな障害を防ぎたいのか

を意識すると、実務理解がかなり深まります。

特に監視運用では、

「通知が来たあと、どう動けるか」

が重要です。

構築だけで終わらず、運用目線まで意識して学んでいきましょう。

ABOUT ME
はつゆき
はじめまして、はつゆきと申します。 なんやかんやでシステムエンジニアとして10年務めています。 特に監視系やサーバ関連などを多く携わっています。 初めて監視系の案件に携わるよーって方へなるべくわかってもらえるようにこれまで経験してきたことなど伝えていければと思っています。