オフライン環境でZabbix 7.0 LTSをインストールしてみた

こんにちは、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の導入・活用にチャレンジしてみてください。

オフライン環境ならではのハードルもありますが、事前準備をしっかり行うことで、その壁を乗り越えることができます。

本記事がみなさまの環境構築のお役に立てば幸いです。最後まで読んでいただき、ありがとうございました。

タイトルとURLをコピーしました