このページでは、Red Hat Enterprise Linux 環境において Zabbix Web フロントエンドを起動し、ブラウザからセットアップ画面へアクセスできる状態にする手順を整理する。
前のページまでで、Zabbix Server、PostgreSQL、スキーマインポート、および Zabbix Server の設定は完了している前提で進める。ここでは Apache(httpd)を起動し、Zabbix Web フロントエンドへアクセスできる状態を構成する。
あわせて、httpd の待受状態、firewalld による通信許可、PHP-FPM の起動状態を確認し、ブラウザから Zabbix のセットアップ画面が表示されるところまでを確認する。
なお、本ページは外部公開向けの内容であるため、実際のサーバー名や内部 IP アドレスは記載せず、仮称を用いて説明する。
作業対象サーバー
監視サーバー(仮称)(ZBX-WEB)
OS
Red Hat Enterprise Linux 10
構築対象
Zabbix Web フロントエンド
Apache(httpd)
初期セットアップ
本ページで登場するサーバーは以下のとおりである。
監視サーバー(仮称)(ZBX-WEB)
Zabbix Server、PostgreSQL、Web フロントエンドを構成するサーバー
証明書管理サーバー(仮称)(CERT-WEB)
後続手順で HTTPS 化を行う際に証明書管理で使用するサーバー
監視対象 Web サーバー(仮称)(MON-WEB01)
Zabbix Agent2 を導入して監視対象とする Web サーバー
監視対象 DB サーバー(仮称)(MON-DB01)
Zabbix Agent2 を導入して監視対象とする DB サーバー
管理端末(仮称)(ADMIN-PC)
ブラウザで Zabbix Web フロントエンドへアクセスする端末
本ページは外部公開向けページである。
ただし、Zabbix の管理画面や監視基盤そのものは外部公開しておらず、内部利用を前提としている。
そのため、本ページでは実際のサーバー名や内部 IP アドレスは記載せず、仮称を用いて構成を説明する。
まず、httpd パッケージが導入済みであることを確認する。
rpm -qa | grep httpd
解説
Zabbix Web フロントエンドは Apache を使って公開する。
そのため、最初に httpd 関連パッケージが入っていることを確認する。
Zabbix 用 Apache 設定ファイルが配置されていることを確認する。
ls -l /etc/httpd/conf.d/zabbix.conf
解説
zabbix-apache-conf パッケージを導入していれば、Zabbix Web 用の Apache 設定ファイルが配置される。
このファイルがあることで、/zabbix へアクセスできるようになる。
httpd パッケージが表示される
/etc/httpd/conf.d/zabbix.conf が確認できる
解説
ここまで確認できれば、Web フロントエンド起動の前提はそろっている。
httpd 設定に構文エラーがないことを確認する。
apachectl configtest
解説
設定ファイルに誤りがあると httpd は起動しない。
起動前に configtest を行っておくと、
余計な切り分けを減らせる。
Syntax OK
解説
この表示が確認できれば、Apache 設定は構文上問題ない。
起動前の状態を確認する。
systemctl status httpd
解説
導入直後は inactive や disabled の状態になっていることがある。
事前の状態を見ておくと、起動後との差がわかりやすい。
httpd を起動し、自動起動も有効化する。
systemctl enable --now httpd
解説
enable は OS 起動時に自動起動する設定である。
--now を付けることで、その場でサービスも起動する。
httpd が正常に起動していることを確認する。
systemctl status httpd
解説
active (running) が確認できれば、Apache は正常に起動している。
httpd が TCP 80 で待受していることを確認する。
ss -lntp | grep :80
解説
Web フロントエンドへ HTTP でアクセスするため、
まずは TCP 80 で待受していることを確認する。
LISTEN 0 511 0.0.0.0:80
解説
LISTEN 状態が確認できれば、Web アクセスを受け付ける準備はできている。
httpd のエラーログを確認する。
tail -n 20 /var/log/httpd/error_log
解説
起動はしていても、設定やモジュール連携で問題がある場合は
ログにヒントが出ることがある。
特に初回起動時は一度見ておくと安心である。
configured -- resuming normal operations
Command line: '/usr/sbin/httpd -D FOREGROUND'
解説
このような内容が見えていれば、httpd は通常どおり起動している。
firewalld の状態と現在の許可内容を確認する。
systemctl status firewalld
firewall-cmd --list-all
解説
Web フロントエンドへブラウザから接続するには、
OS 側でも HTTP を許可しておく必要がある。
まず現在の状態を確認する。
HTTP サービスを許可する。
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
解説
この設定により、TCP 80 へのアクセスを許可する。
後続の HTTPS 化手順とは分けて、
このページではまず HTTP でセットアップを完了させる。
設定が反映されたことを確認する。
firewall-cmd --list-all
解説
services に http が含まれていれば反映完了である。
PHP-FPM が起動していることを確認する。
systemctl status php-fpm
解説
Zabbix Web は PHP で動作する。
そのため、httpd だけでなく php-fpm も起動している必要がある。
active (running)
解説
この状態であれば、PHP 実行環境も利用できる。
ブラウザから Zabbix Web フロントエンドへアクセスする。
アクセス先
http://監視サーバー(仮称)のアドレス/zabbix
解説
ここでは、管理端末から Zabbix のセットアップ画面が開けることを確認する。
この時点では、画面表示の確認だけでよい。
セットアップ自体は次の「Zabbix Web 初期設定」ページで行うため、画面が開くことを確認できたら閉じて問題ない。
Zabbix setup 画面が表示される
解説
セットアップ画面が表示されれば、Web フロントエンドは正常に公開できている。
この手順が完了すると、以下を満たしている状態になる。
httpd が起動している
TCP 80 で待受している
firewalld で HTTP が許可されている
php-fpm が起動している
Zabbix setup 画面が表示される
確認コマンド
systemctl status httpd
ss -lntp | grep :80
tail -n 20 /var/log/httpd/error_log
firewall-cmd --list-all
systemctl status php-fpm
次の手順では、
監視サーバー自身を監視するために Zabbix Agent2 を設定する。