「Zabbixを入れてみたいけど、何から始めればいいか分からない」

監視運用を担当し始めた新人エンジニアが、最初につまずきやすいのがZabbixのインストールです。

実際の現場でも、

  • パッケージが入らない
  • DB接続で失敗する
  • Web画面が開かない
  • Agentと通信できない

といったトラブルは非常によく発生します。

特に初心者のうちは、「なぜその設定が必要なのか」が分からず、手順だけ追ってしまいがちです。

この記事では、Linux環境へのZabbixインストール手順だけでなく、

  • なぜその設定を行うのか
  • 実務で重要な考え方
  • 初心者がハマりやすいポイント
  • 運用開始後の注意点

まで含めて、監視運用の現場目線で分かりやすく解説します。

なお、Zabbix自体の基本概要を先に知りたい方は、
Zabbixとは?初心者向けに監視の基本を解説」も先に読むと理解しやすくなります。

Zabbixインストール前に理解しておくべきこと

Zabbixは何をする監視ツールなのか

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

例えば以下を監視できます。

  • CPU使用率
  • メモリ使用量
  • ディスク容量
  • プロセス停止
  • サービスダウン
  • Ping疎通

障害を早期検知することで、サービス停止を防ぐ役割があります。

実務では、

  • サーバ監視
  • 障害通知
  • リソース監視
  • 死活監視

で非常によく利用されます。

Linux環境で構築する理由

ZabbixはLinux環境で使われるケースが非常に多いです。

理由は以下です。

  • 安定運用しやすい
  • サーバ用途と相性が良い
  • 導入事例が多い
  • 公式情報が豊富

特にCentOS Stream、Rocky Linux、Ubuntuなどがよく使われます。

今回は実務でも利用されやすいRocky Linux系を前提に解説します。

実務で多い構成パターン

初心者の学習環境では、まずは1台構成で問題ありません。

構成例:

  • Zabbix Server
  • MariaDB
  • Apache
  • Zabbix Frontend

を同一サーバへ導入します。

ただし実務では、

  • DBサーバ分離
  • 冗長化
  • Proxy構成

になることもあります。

最初はシンプル構成で理解するのがおすすめです。

Zabbixインストール前の準備

必要なサーバスペック

検証用途なら以下程度で十分です。

項目推奨
CPU2core
メモリ4GB以上
ストレージ20GB以上

初心者がよくやる失敗として、メモリ不足があります。

MariaDBが動くため、2GBでは重くなることがあります。

OSバージョンを確認する

まずOSを確認します。

cat /etc/os-release

実務では「対応OSか」を必ず確認します。
Zabbix公式で未対応OSを使うと、パッケージ不整合が発生することがあります。

FirewallとSELinuxの確認

初心者が最も詰まりやすいポイントです。

「インストールできたのに画面が開かない」

この原因の多くはFirewallです。

確認例:

systemctl status firewalld
getenforce

検証環境では一時的に無効化するケースもあります。

systemctl stop firewalld
setenforce 0

ただし実務では、無効化ではなく必要ポートのみ開放する運用が基本です。

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

Zabbixリポジトリを追加する

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

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

なぜ必要なのかというと、Linux標準リポジトリにはZabbix最新版が存在しないためです。

Zabbix Serverをインストールする

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

ここでまとめて以下が導入されます。

  • Zabbix Server
  • Web UI
  • Agent
  • SQLスクリプト

MariaDBをインストールする

Linux上にmariadbをインストールします。

dnf install mariadb-server -y

インストールしたmariadbを起動します。

systemctl enable –now mariadb

データベースを作成する

以下のコマンドでMariaDBへログインします。

mysql

以下コマンドで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;

ずきんちゃん

なんでDBが必要なの?

ぬこさま

Zabbixは監視データを全部DBへ保存するんだ。
CPU使用率やアラート履歴もDB管理だから、ここが壊れると監視データも見れなくなっちゃうんだよね

初期スキーマを投入する

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

ここで時間がかかる場合があります。
途中で止まったように見えても、すぐ閉じないよう注意してください。

Zabbix Server設定を変更する

設定ファイル編集:

vi /etc/zabbix/zabbix_server.conf

以下を変更します。

DBPassword=password

DB接続設定(パスワード)です。
これを忘れると、Server起動に失敗するので色がついている箇所を更新しましょう。

Apache設定を確認する

タイムゾーン設定を変更します。

vi /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Tokyo

これを設定しないと、時刻ズレでグラフ表示がおかしくなることがあります。
実務でも非常によくあるミスです。

サービスを起動する

編集後はこちらのコマンドでサービス起動をします。

systemctl enable --now zabbix-server zabbix-agent httpd php-fpm

実行後はちゃんと起動されていることを確認しましょう。
状態確認:

systemctl status zabbix-server

Zabbix Web画面の初期設定

Webセットアップ画面を開く

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

http://サーバIP/zabbix

ここでアクセスできない場合は、

  • Firewall
  • Apache未起動
  • SELinux

を疑います。

DB接続設定を行う

先ほど作成した情報を入力します。

  • DB名
  • ユーザ
  • パスワード

ここで入力ミスするケースは非常に多いです。

特に「localhost」と「127.0.0.1」の違いで失敗することがあります。

管理画面へログインする

初期ログイン:

項目
UserAdmin
Passwordzabbix

ログイン後は必ずパスワード変更を行います。

実務で初期パスワード放置は危険です。

Zabbix AgentをLinuxへ導入する

Agent導入が必要な理由

Agentを入れることで、

  • CPU
  • メモリ
  • ディスク
  • プロセス

など詳細監視が可能になります。

Ping監視だけではサーバ内部状態は分かりませんが、これでより詳しく監視ができます。

Agentインストール手順

Agentインストール:

dnf install zabbix-agent -y

設定変更:

vi /etc/zabbix/zabbix_agentd.conf
Server=ZabbixServerIP
Hostname=test-server

起動:

systemctl enable –now zabbix-agent

通信確認方法

Server側で以下確認。

ss -lntp | grep 10050

10050ポートがLISTENならAgent待受中です。

ずきんちゃん

Agentがつながらないんだけど…

ぬこさま

Firewallで10050ポートが閉じてるケースが多いかな。
あとHostname不一致もかなり多いから確認してみて。

Zabbixのインストールで初心者がハマりやすいトラブル

Web画面が表示されない

主な原因:

  • Firewall
  • Apache停止
  • SELinux
  • サービスが起動していない

特にFirewall忘れやサービス起動忘れは頻出です。

DB接続エラーになる

原因例:

  • DBPassword誤り
  • DB起動していない
  • 権限不足

ログ確認:

tail -f /var/log/zabbix/zabbix_server.log

実務では「まずログ確認」が基本です。

Agentが未接続になる

多い原因:

  • Hostname不一致
  • Port閉塞
  • IP制限
  • Zabbixサービスが起動していない

ZabbixはHost名一致やサービスの起動が非常に重要です。

時刻ズレで誤検知が発生する

NTP未設定で発生します。

監視では時刻同期がかなり重要です。

ログ時刻がズレると、障害解析が難しくなります。

実務で意識したいZabbix監視運用の考え方

最初から監視を増やしすぎない

初心者がやりがちな失敗です。

最初から大量監視すると、

  • アラート増加
  • 誤検知増加
  • 運用負荷増加

につながります。

まずは重要監視から始めましょう。

誤検知を減らすことが重要

監視は「数」より「精度」が重要です。

誤検知が多いと、アラートを無視する文化になりやすいです。

実務ではかなり危険です。

アラート疲れを防ぐ

CPU一時上昇だけで通知すると、運用が疲弊します。

例えば:

  • 5分継続時のみ通知
  • 深夜通知を制御
  • WarningとCriticalを分離

など調整が必要です。

ここは実務で非常に重要です。

まとめ

Zabbixインストールは、単にコマンドを実行するだけではありません。

重要なのは、

  • なぜその設定をするのか
  • どこで障害が起きやすいか
  • 運用時に何が問題になるか

を理解することです。

特に初心者のうちは、

  • Firewall
  • DB接続
  • Hostname設定

でつまずきやすいため、ログ確認を習慣化することが大切です。

また、監視は「入れて終わり」ではありません。

誤検知を減らし、必要な通知だけを届ける運用設計が重要になります。

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