こんにちは、SCSK株式会社の中野です。
Zabbixは、システム監視・運用に欠かせないオープンソースの監視ツールです。しかし企業や各種プロジェクトでは、外部インターネットに直接アクセスできない、「オフライン環境」でZabbixを導入しなければならないケースも多くあります。
通常の導入手順では、公式リポジトリやインターネット経由でのパッケージ取得が前提となっていますが、オフラインではこの方法は使えません。
本記事では、AWS環境に構築したRed Hat Enterprise Linux 9.6上に、Zabbix 7.0を「オフライン環境」で導入する手順についてご紹介します。
導入手順
今回の構成は以下とさせていただきます。
- ZABBIX VERSION: 7.0 LTS
- OS DISTRIBUTION: Red Hat Enterprise Linux
- OS VERSION: 9
- DATABASE: MySQL
- WEB SERVER: Apache
- SELinux: 無効
- Firewalld: 無効
オフライン環境として、インターネットにアクセスできない状態を想定しています。そのため、Zabbixインストールに必要なファイルや依存パッケージは、事前に外部環境からダウンロードして持ち込む必要があります。
この記事では、Zabbix本体や必要なライブラリ・依存パッケージの準備からインストールまで、実際に試した手順をベースに解説します。
Zabbix関連パッケージのダウンロード
オフライン環境でZabbixを導入するためには、事前に必要なパッケージ類をすべてダウンロードしておく必要があります。
今回は、yumコマンドの–downloadonlyオプションを利用して、Zabbix関連パッケージをまとめて取得します。
# 関連パッケージのダウンロード
sudo yum install --downloadonly --downloaddir=/tmp/zabbix <パッケージ名>
※<パッケージ名>はzabbix-server、zabbix-webなど必要なパッケージ名に置き換えてください
この作業には、インターネットに接続されたオンライン環境のRHEL9サーバーが1台必要です。オンライン環境はあくまでダウンロード用に利用するだけなので、検証機や既存のRHEL9環境を流用しても構いません。
取得したパッケージはファイル転送コマンドや、USBメモリなどのメディアでオフライン環境へ持ち込んでください
# 関連パッケージのダウンロード(mysql, httpd)
sudo yum install --downloadonly --downloaddir=/tmp/mysql mysql-server
sudo yum install --downloadonly --downloaddir=/tmp/httpd httpd
# 関連パッケージのダウンロード(zabbix)
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-server-mysql
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-web-mysql
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-web-japanese
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-apache-conf
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-sql-scripts
sudo yum install --downloadonly --downloaddir=/tmp/zabbix zabbix-agent2
関連パッケージのインストール、DB初期設定
関連パッケージをダウンロードしましたので、オフライン環境でZabbixをインストールします。まずはMySQLとApacheをインストールします。
# MySQLのインストール
dnf localinstall /tmp/mysql/*
# MySQLのインストール
dnf localinstall /tmp/httpd/*
# データベースを起動
systemctl start mysqld
systemctl enable mysqld
続いて、Zabbix用データベースを作成します。 DB名、アカウント名やパスワード環境に応じて設定いただければと思います。
# DBへの接続
mysql -uroot -p
Enter password: (MySQLのrootアカウントのパスワードを入力)
# DB、アカウントを作成
> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
> CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';
> GRANT all privileges ON zabbix.* TO zabbix@localhost;
> SET global log_bin_trust_function_creators = 1;
> exit
Zabbixサーバのインストール
続いてZabbixをインストールします。
# Zabbixサーバのインストール
dnf localinstall /tmp/zabbix/*
続いて、Zabbix用データベースへ初期データをインポートします。
# DBへ初期データをインポート
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Enter password: (MySQLのzabbixアカウントのパスワードを入力)
初期データのインポート後、log_bin_trust_function_creatorsを無効にします。
# DBへの接続
mysql -uroot -p
Enter password: (MySQLのrootアカウントのパスワードを入力)
> SET global log_bin_trust_function_creators = 0;
> exit
その後、Zabbixサーバーの設定と起動を行います。
# 各パラメータ設定
/etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# サービスの起動
systemctl start zabbix-server zabbix-agent2 httpd php-fpm
systemctl enable zabbix-server zabbix-agent2 zabbix-agent httpd php-fpm
Zabbix WEBコンソールへのアクセス
Zabbixのインストールは完了しましたので、Webコンソール上でセットアップしていきます。
ブラウザを立ち上げて、以下にアクセスします。
http://xxx.xxx.xxx.xxx/zabbix
xxxには、今回構築したIPアドレスを入れてください。例えば、もしZabbixサーバーのIPアドレスが192.168.0.1なら、アドレスバーには”http://192.168.0.1/zabbix”と入力します。
言語を【日本語(ja_JP)】に変更して、【次のステップ】をクリックします。
すべての項目が「OK」になっていることを確認し、【次のステップ】をクリックします。
パスワード欄に先ほど設定したZabbixDBのパスワードを入力し、【次のステップ】をクリックします。
タイムゾーン欄で【(UTC+9:00) Asia/Tokyo】を選択、Zabbixサーバ名を記入し、【次のステップ】をクリックします。
設定内容に問題がなければ、【次のステップ】をクリックします。
【終了】をクリックすると、以下のようなログイン画面が表示されます。
初期状態でユーザーが登録されているので、以下のユーザー名・パスワードでログインします。
- ユーザ名:Admin
- パスワード:zabbix
ログインすると、WEBコンソール画面が表示されます。
以上でZabbixのインストールは完了です。
最後に
今回は、オフライン環境でのZabbix導入手順についてご紹介しました。ネットワークに接続できない制約がある場合でも、事前に必要なパッケージをダウンロードし、オフライン環境に持ち込むことでZabbixを導入することが可能です。
監視システムの導入は、障害の早期発見や安定稼働のために大変重要な作業です。Zabbixはオープンソースでありながら高機能な監視を実現できますので、ぜひ今回の記事を参考に、オフライン環境でもZabbixの導入・活用にチャレンジしてみてください。
オフライン環境ならではのハードルもありますが、事前準備をしっかり行うことで、その壁を乗り越えることができます。
本記事がみなさまの環境構築のお役に立てば幸いです。最後まで読んでいただき、ありがとうございました。








