Zabbix 5.0 インストール手順(CentOS7 / Apache2.4 / PHP7.2 / MariaDB5.5)

はじめに

前回は、Zabbix 5.0をCentOS 8.1上で構築する手順を紹介しました。

Zabbix 5.0 インストール手順(CentOS8 / Apache2.4 / PHP7.2 / MySQL8.0)

Zabbix 5.0の動作要件としてPHPは7.2以上が必要となるため、CentOS 8またはRHEL 8以上を推奨する旨記載しましたが、色々な事情からまだCentOS 7を使用しないといけない場合もあるかと思います。どうしてもCentOS 7でZabbix 5.0を使いたい場合を想定して、CentOS 7.8にZabbix 5.0をインストールするための手順を検証してみました。

前提条件

以下の前提条件で検証しています。

  • ハードウェア: VirtualBox上の仮想マシン
  • OS: CentOS 7.8
  • ミドルウェア:
    • Apache: 2.4.6 (OS同梱版)
    • PHP: 7.2.24 (SCL版)
    • MariaDB: 5.5.65 (OS同梱版)
  • Zabbix Server: 5.0.0
  • Zabbix Agent 2: 5.0.0
  • 構築対象サーバはインターネットと疎通が取れること
  • 各手順はroot権限を持つユーザで実施

OSは、CentOSインストールDVDのISOファイルから「Minimal」を選択しインストールを行いました。
バージョン情報は以下の通りです。

# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

# uname -r
3.10.0-1127.el7.x86_64

Software Collections(SCL)について

CentOS 7系では、PHPの標準バージョンは5.4となります。そのため、Software Collections (以下 SCL)リポジトリを使用してPHP7.2をインストールします。
Software Collections (以下 SCL)とは、CentOSコミュニティがCentOSのリリースとは別のライフサイクルで管理しているアドオンリポジトリです。

The Software Collections ( SCL ) Repository
CentOS標準リポジトリとサポート期間が異なるため、注意が必要です。また、アップストリーム製品のRHELにも同様のリポジトリであるRed Hat Software Collectionsが存在しますが、導入手順がCentOSと若干異なります。本記事は、CentOSに限った手順となります。

パッケージインストール

Zabbixの動作に必要となる各種パッケージをインストールします。
基本方針として、OS同梱版ソフトウェアはパッケージ管理の利便性を考慮してYumパッケージグループで関連パッケージをまとめてインストールします。
PHPは、SCLリポジトリから関連パッケージをインストールします。
Zabbixは、公式リポジトリからZabbix関連パッケージおよび依存パッケージをインストールします。

Apache

以下のコマンドを実行し、Apacheおよび関連ソフトウェアをインストールします。

# yum -y groupinstall web-server

PHP

SCLリポジトリを有効化します。

# yum -y install centos-release-scl

以下のコマンドを実行し、Zabbixに依存するPHP関連パッケージをインストールします。パッケージグループ単位のインストールができないので、少し長くなりますが個別にパッケージ名を指定します。

# yum -y install rh-php72 \
    rh-php72-php-bcmath \
    rh-php72-php-fpm \
    rh-php72-php-gd \
    rh-php72-php-ldap \
    rh-php72-php-mbstring \
    rh-php72-php-mysqlnd \
    rh-php72-php-pdo \
    rh-php72-php-xml

MariaDB

以下のコマンドを実行し、MariaDBをインストールします。

# yum -y groupinstall mariadb

Zabbix Server

Zabbixのリリース状況によっては、新しいバージョンのパッケージが公開される可能性があります。以下の公式リポジトリで、「zabbix-release-5.0-x.el7.noarch.rpm」のバージョンを確認して、新しいバージョンが公開されている場合は、インストール対象パッケージのURLを適宜変更してください。
https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/

以下のコマンドを実行し、Zabbix 5.0の公式リポジトリをインストールします。

# yum -y install https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm  

以下のコマンドを実行し、Zabbix Serverの関連パッケージをインストールします。

# yum -y install --enablerepo=zabbix-frontend zabbix-server-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-web-japanese

Zabbix Agent 2

以下のコマンドを実行し、Zabbix Agent 2をインストールします。

# yum -y install zabbix-agent2

設定ファイルの変更

PHP

viなどのテキストエディタで、PHP-FPMのZabbix用設定ファイルを開きます。
SCL版のPHP-FPMは、OS同梱版とディレクトリ構成が異なるので注意が必要です。

# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

設定変更内容は以下の通りです。
最低限の設定として、PHPのタイムゾーンを変更します。

# タイムゾーン行のコメントアウトを外し、Asia/Tokyoに変更
; php_value[date.timezone] = Europe/Riga
↓
php_value[date.timezone] = Asia/Tokyo

Zabbix Server

viなどのテキストエディタで、Zabbix Serverの設定ファイルを開きます。

# vi /etc/zabbix/zabbix_server.conf

設定変更内容は以下の通りです。
最低限の設定として、DBサーバへの接続情報が必要となります。

### DB関連の設定 ###

# DBユーザ名
# 今回はデフォルトのzabbixを使用するので変更しない

DBUser=zabbix


# DBパスワード
# 項目のコメントアウトを外し、クオートやスペースを含めずに指定する
# 今回は、例としてパスワードをzabbixpassに指定

# DBPassword=
↓
DBPassword=zabbixpass

Zabbix Agent2

viなどのテキストエディタで、Zabbix Agent 2の設定ファイルを開きます。

# vi /etc/zabbix/zabbix_agent2.conf

設定変更内容は以下の通りです。
監視を受け付けるサーバに関する設定を行います。

# 監視通信を許可するサーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

Server=127.0.0.1


# アクティブチェック監視データの送信先サーバIPアドレス
# Zabbixサーバ自身を監視する場合は値を変更しない
# 別サーバへエージェントをインストールする場合は、ZabbixサーバのIPアドレスを指定する

ServerActive=127.0.0.1


# 自ホストのホスト名
# OS上のホスト名ではなく、Zabbix監視設定上のホスト名なので注意
# 以下の例では、サーバ実機設定および監視設定であるzbx01をホスト名に指定している

Hostname=Zabbix server
↓
Hostname=zbx01

DBの設定

DBの設定を行うため、以下のコマンドを実行しMaridbの自動起動設定と、サービスの起動を行います。

# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

# systemctl start mariadb

以下のコマンドを実行し、MariaDBの初期設定を行います。
設定例中のDBユーザrootのパスワード指定では、「zabbixpass」を指定しています。

# mysql_secure_installation
(略)
Enter current password for root (enter for none):  ←何も入力せずEnterキーを押下
(略)
Set root password? [Y/n] Y ←Yを入力
(略)
New password: ←DBユーザrootのパスワードを入力
Re-enter new password: ←再度DBユーザrootのパスワードを入力
(略)
Remove anonymous users? [Y/n] Y ←Yを入力
(略)
Disallow root login remotely? [Y/n] Y ←Yを入力
(略)
Remove test database and access to it? [Y/n] Y ←Yを入力
(略)
Reload privilege tables now? [Y/n] Y ←Yを入力
(略)
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

以下のコマンドを実行し、Zabbix用のデータベースとDBユーザを作成します。
設定例中の<パスワード>は、Zabbix Serverの設定ファイルに合わせてDBユーザzabbixのパスワード文字列を「zabbixpass」を指定します。

# mysql -u root -p
Enter password:  ←DBユーザrootのパスワードを入力
(略)
mysql> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.06 sec)

mysql> CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';
Query OK, 0 rows affected (0.07 sec)

mysql> GRANT ALL ON zabbix.* TO zabbix@localhost;
Query OK, 0 rows affected (0.10 sec)

mysql> quit;
Bye

以下のコマンドを実行し、Zabbix用のDBスキーマと初期データをデータベースに読み込みます。
サーバのスペックによっては、この処理には数分かかる場合があります。

# zcat /usr/share/doc/zabbix-server-mysql-5.0.0/create.sql.gz | mysql -u zabbix -p zabbix
Enter password:  ←DBユーザzabbixのパスワードを入力

SELinuxの設定

OSのSELinux設定が有効である場合、Zabbix Serverの動作が阻害されてしまいます。
以下のコマンドを実行し、SELinuxの設定を無効化し、OSを再起動します。

# sed -i -e "s/^SELINUX=enforcing$/SELINUX=disabled/g" /etc/selinux/config 
# systemctl reboot

以下のコマンドを実行し、SELinuxが無効化(Disabled)されていることを確認します。

# getenforce 
Disabled

ファイアウォールの設定

Firewalldを使用する場合、外部からの通信を許可します。許可対象の通信は以下の通りです。

  • 10050/tcp : Zabbix Server → Zabbix Agentのパッシブ監視通信(Zbbixサーバ自身は不要、監視対象サーバでは必要)
  • 10051/tcp : Zabbix Agent → Serverのアクティブ監視通信(Zabbixサーバのみ必要)
  • http : クライアント → Zabbix WebUIのHTTP通信(Zabbixサーバのみ必要)

通信許可設定を行うには以下のコマンドを実行します。

# firewall-cmd --add-port=10051/tcp --zone=public --permanent
success
# firewall-cmd --add-service=http --zone=public --permanent
success
# firewall-cmd --reload
success

Zabbix WebUIのSSL化(https)や、SNMP Trapの受信(162/udp)など、Zabbixサーバに対する上記以外のインバウンド通信要件がある場合は、適宜firewalldの設定を追加してください。

サービス起動

Apache

以下のコマンドを実行し、Apacheの自動起動設定とサービス起動を行います。

# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

# systemctl start httpd

PHP-FPM

以下のコマンドを実行し、PHP-FPMの自動起動設定とサービス起動を行います。
SCL版のPHP-FPMは、OS同梱版とサービス名が異なるので注意が必要です。

# systemctl enable rh-php72-php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to /usr/lib/systemd/system/rh-php72-php-fpm.service.

# systemctl start rh-php72-php-fpm

Zabbix Server

以下のコマンドを実行し、Zabbix Serverの自動起動設定とサービス起動を行います。

# systemctl enable zabbix-server
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.

# systemctl start zabbix-server

Zabbix Agent2

以下のコマンドを実行し、Zabbix Agent2の自動起動設定とサービス起動を行います。

# systemctl enable zabbix-agent2
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service.

# systemctl start zabbix-agent2

WebUIの設定

初期設定ウィザード

WebUIの初期設定を行うため、作業端末のWebブラウザを起動して以下のURLにアクセスします。

http://<ZabbixサーバIPアドレス>/zabbix/

「Next step」を押下します。

全ての項目が「OK」になっていることを確認して、「Next step」を押下します。

「Password」の箇所に、DBユーザzabbixのパスワードを入力し、「Next step」を押下します。

今回は、WebUIを動作させるPHP-FPMとZabbix Serverが1台のサーバに相乗りしているので、WebUIの接続先Zabbix Server設定の変更は特に不要です。「Next step」を押下します。

「Next step」を押下します。

「Finish」を押下します。

設定が完了すると、ログイン画面に遷移します。
初期ユーザ名「Admin」、初期パスワード「zabbix」を入力し、「Sign in」を押下します。

ダッシュボードが表示されることを確認し、WebUIの初期設定は完了です。

WebUIの日本語化

初期状態では英語表記なので、日本語化を行います。
ダッシュボード左ペインの下部にある「User settings」を押下します。

「Language」の項目を「Japanese (ja_JP)」に指定し、「Update」を押下します。

ダッシュボードへ画面遷移するので、日本語表示に切り替わっていることを確認します。

参考情報

Zabbixインストール時の依存パッケージについて

以下のミドルウェアをインストールした後、Zabbixの主要パッケージをインストールするときに要求される依存関係パッケージ一覧を採取しました。

  • Apache
  • PHP
  • MariaDB

オフライン環境でZabbixをインストールする場合、上記パッケージグループと併せて以下のパッケージファイルを用意しておく必要があります。
zabbixリポジトリのパッケージは、インターネット上から直接ダウンロードしてサーバに転送しておきます。baseupdatesのパッケージは、OSインストールDVDのISOファイルをマウントしてyumリポジトリに登録することでインストールができます。

# yum install --enablerepo=zabbix-frontend zabbix-server-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-web-japanese
(略)
=============================================================================================
 Package                     アーキテクチャー
                                        バージョン            リポジトリー              容量
=============================================================================================
インストール中:
 zabbix-apache-conf-scl      noarch     5.0.0-1.el7           zabbix-frontend           13 k
 zabbix-server-mysql         x86_64     5.0.0-1.el7           zabbix                   2.6 M
 zabbix-web-japanese         noarch     5.0.0-1.el7           zabbix-frontend           12 k
 zabbix-web-mysql-scl        noarch     5.0.0-1.el7           zabbix-frontend           12 k
依存性関連でのインストールをします:
 OpenIPMI                    x86_64     2.0.27-1.el7          base                     243 k
 OpenIPMI-libs               x86_64     2.0.27-1.el7          base                     523 k
 OpenIPMI-modalias           x86_64     2.0.27-1.el7          base                      16 k
 dejavu-fonts-common         noarch     2.33-6.el7            base                      64 k
 dejavu-sans-fonts           noarch     2.33-6.el7            base                     1.4 M
 fontpackages-filesystem     noarch     1.44-8.el7            base                     9.9 k
 fping                       x86_64     3.10-1.el7            zabbix-non-supported      40 k
 libevent                    x86_64     2.0.21-4.el7          base                     214 k
 libtool-ltdl                x86_64     2.4.2-22.el7_3        base                      49 k
 net-snmp-libs               x86_64     1:5.7.2-48.el7_8      updates                  751 k
 unixODBC                    x86_64     2.3.1-14.el7          base                     413 k
 vlgothic-p-fonts            noarch     20130607-2.el7        base                     2.2 M
 zabbix-web                  noarch     5.0.0-1.el7           zabbix-frontend          3.0 M
 zabbix-web-deps-scl         noarch     5.0.0-1.el7           zabbix-frontend           13 k

トランザクションの要約
=============================================================================================
インストール  4 パッケージ (+14 個の依存関係のパッケージ)

総ダウンロード容量: 12 M
インストール容量: 41 M                                 
(略)

Zabbix Agent 2は単体でインストールでき、その他依存関係にあるパッケージはありませんでした。

# yum install zabbix-agent2
(略)
=============================================================================================
 Package                  アーキテクチャー  バージョン               リポジトリー       容量
=============================================================================================
インストール中:
 zabbix-agent2            x86_64            5.0.0-1.el7              zabbix            4.0 M

トランザクションの要約
=============================================================================================
インストール  1 パッケージ

総ダウンロード容量: 4.0 M
インストール容量: 12 M
(略)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です