Zabbix構築ガイド:オープンソース監視ツールの導入から初期設定まで
はじめに
Zabbixは、サーバー、ネットワーク機器、アプリケーションなど、ITインフラのあらゆる要素を集中監視できる強力なオープンソースの統合監視ソフトウェアです。本記事では、Zabbixサーバーを構築し、監視対象のサーバーを追加するまでの基本的な手順を解説します。
この記事のゴール
- Zabbixサーバーをインストールし、Webインターフェースにアクセスできる状態にする。
- 監視対象のサーバーにZabbixエージェントを導入し、基本的な監視を開始する。
対象環境
- OS: Rocky Linux 9
- Zabbix Version: 6.0 LTS (または最新安定版)
- Webサーバー: Apache
- データベース: MariaDB
1. Zabbixのアーキテクチャ概要
Zabbixは主に以下のコンポーネントで構成されています。
| コンポーネント | 役割 |
|---|---|
| Zabbixサーバー | 監視データ収集、トリガー評価、アラート通知などを行う中心的なプロセス。 |
| データベース | Zabbixサーバーが収集した監視データや設定情報を格納します。(MySQL/MariaDB, PostgreSQLなど) |
| Webインターフェース | PHPで書かれたWeb UI。監視データやグラフの可視化、各種設定を行います。 |
| Zabbixエージェント | 監視対象のサーバーにインストールし、CPU使用率やメモリ使用量などのローカルリソース情報を収集してZabbixサーバーに送信します。 |
2. Zabbixサーバーの構築手順
ここからは、Zabbixサーバーを構築する具体的な手順を解説します。
Step 1: Zabbixリポジトリの追加
まず、Zabbix公式リポジトリをシステムに登録します。
# Zabbix 6.0 LTSリポジトリをインストール
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
# パッケージキャッシュをクリア
dnf clean all
Step 2: Zabbixコンポーネントのインストール
Zabbixサーバー、Webインターフェース、エージェントなど、必要なパッケージをインストールします。
# Zabbixサーバー(MySQL用), Webフロントエンド, Apache設定, SQLスクリプト, エージェントをインストール
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Step 3: データベースのインストールと設定
Zabbixの設定情報や監視データを保存するためのMariaDBをインストール・設定します。
-
MariaDBのインストール
dnf install mariadb-server -
MariaDBの起動と自動起動設定
systemctl enable --now mariadb -
データベースの初期セキュリティ設定
以下のコマンドを実行し、対話形式で設定を進めます。rootパスワードの設定、匿名ユーザーの削除などを行ってください。mysql_secure_installation -
Zabbix用データベースとユーザーの作成
mysqlコマンドでMariaDBにログインし、データベースと専用ユーザーを作成します。# MariaDBにrootでログイン (先ほど設定したパスワードを入力) mysql -u root -p # Zabbix用データベースを作成 (文字コードはutf8mb4を推奨) MariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin; # Zabbix用ユーザーを作成し、権限を付与 (パスワードは'password'の部分を強力なものに変更してください) MariaDB [(none)]> create user zabbix@localhost identified by 'password'; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost; # 設定を反映 MariaDB [(none)]> flush privileges; # ログアウト MariaDB [(none)]> quit;重要:
passwordの部分は、必ず推測されにくい強力なパスワードに変更してください。このパスワードは後の手順で使います。
Step 4: Zabbix Serverの設定
-
初期スキーマとデータのインポート
Zabbixがデータベースを利用するためのテーブル定義などをインポートします。zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix実行後、MariaDBで設定したZabbixユーザーのパスワードを入力してください。
-
Zabbixサーバー設定ファイルの編集
Zabbixサーバーがデータベースに接続できるよう、設定ファイルを編集します。vi /etc/zabbix/zabbix_server.confDBPasswordの項目を探し、コメントアウト(#)を解除して、Step 3で設定したパスワードを記述します。# Before # DBPassword= # After (例) DBPassword=password
Step 5: サービスの起動と自動起動設定
必要なサービスを起動し、OS起動時に自動で立ち上がるように設定します。
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
Step 6: ファイアウォールの設定
Zabbixが使用するポートをファイアウォールで許可します。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=10051/tcp --permanent # Zabbix Serverポート
firewall-cmd --add-port=10050/tcp --permanent # Zabbix Agentポート
firewall-cmd --reload
HTTPSを使用する場合は
--add-service=httpsも追加してください。
Step 7: Webインターフェースによる初期設定
ブラウザを開き、以下のURLにアクセスします。
http://<ZabbixサーバーのIPアドレス>/zabbix
-
Welcome screen:
Next stepをクリックします。 -
Check of pre-requisites: すべての項目が "OK" になっていることを確認し、
Next stepをクリックします。(もしNG項目があれば、PHPの拡張機能不足などが考えられます) -
Configure DB connection: データベース接続設定を入力します。
-
Database type:
MySQL -
Database host:
localhost -
Database port:
3306(または空欄) -
Database name:
zabbix -
User:
zabbix -
Password: Step 3-4で設定したパスワード
入力後、Next stepをクリックします。
-
Database type:
-
Zabbix server details: Zabbixサーバーの情報を入力します。通常はデフォルトのままで問題ありません。
Next stepをクリックします。 -
Pre-installation summary: 設定内容を確認し、
Next stepをクリックします。 -
Install: インストールが完了したら、
Finishをクリックします。
これでZabbixのWebインターフェースにログイン画面が表示されます。
-
初期ユーザー名:
Admin -
初期パスワード:
zabbix
ログイン後、必ずパスワードを変更しておきましょう。
3. 監視対象ホストの追加 (Zabbixエージェント)
次に、監視したいサーバー(Linux)にZabbixエージェントを導入し、Zabbixサーバーにホストとして登録します。
監視対象サーバーでの作業
-
Zabbixリポジトリの追加
# Rocky Linux 9の場合 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm dnf clean all -
Zabbixエージェントのインストール
dnf install zabbix-agent -
設定ファイルの編集以下の3項目を環境に合わせて変更します。
vi /etc/zabbix/zabbix_agentd.conf# ZabbixサーバーのIPアドレスを指定 Server=<ZabbixサーバーのIPアドレス> # アクティブチェック用にもZabbixサーバーのIPアドレスを指定 ServerActive=<ZabbixサーバーのIPアドレス> # Zabbix Web UIで表示されるホスト名 (一意である必要があります) # デフォルトではシステムホスト名が使われますが、明示的に指定することを推奨します。 Hostname=<このサーバーのホスト名> -
エージェントの起動と自動起動設定
systemctl restart zabbix-agent systemctl enable zabbix-agent -
ファイアウォールの設定
# Zabbixエージェントの待ち受けポートを許可 firewall-cmd --add-port=10050/tcp --permanent firewall-cmd --reload
ZabbixサーバーのWeb UIでの作業
- 左メニューの [設定] -> [ホスト] をクリックします。
- 右上の [ホストの作成] をクリックします。
-
ホスト タブで、以下の情報を入力します。
-
ホスト名: 監視対象サーバーの
zabbix_agentd.confで設定したHostnameと同じ名前を入力します。 - テンプレート: この後設定します。
- ホストグループ: 「Linux servers」など、適切なグループを選択(または新規作成)します。
-
インターフェース:
追加をクリックし、エージェントを選択します。- IPアドレス: 監視対象サーバーのIPアドレスを入力します。
-
ホスト名: 監視対象サーバーの
-
テンプレート タブをクリックします。
-
新規テンプレートをリンク の入力欄で
Linux by Zabbix agentを検索し、選択します。このテンプレートには、CPU、メモリ、ディスク、ネットワークなど一般的なLinux監視項目が多数含まれています。
-
新規テンプレートをリンク の入力欄で
- 最後に [追加] ボタンをクリックします。
ホスト一覧画面に戻り、追加したホストの「可用性」列の「ZBX」アイコンが、数分後に緑色に変われば、Zabbixサーバーとエージェントの通信が正常に行われています。
まとめ
この記事では、Zabbixサーバーの基本的な構築手順と、監視対象ホストを追加する方法を解説しました。これで、Zabbixによる監視の第一歩は完了です。
ここからさらに、
- ダッシュボードで監視状況をグラフィカルに確認する
- 障害発生時にメールなどで通知を飛ばすアクションを設定する
- 独自の監視項目を追加するためにテンプレートをカスタマイズする
など、Zabbixの強力な機能を活用していくことができます。ぜひ公式ドキュメントなども参考に、より高度な監視環境を構築してみてください。
Discussion