Zabbix 4.4 インストール手順(CentOS7 / Apache2.4 / PHP5.4 / MariaDB5.5)
Contents
はじめに
2019年10月9日、Zabbix 4.4がリリースされました。大きな機能追加は以下リリースサイトにまとめられています。
前回の記事では、CentOS 8をベースとしてインストール手順を作成しましたが、今回は既に多くの導入実績があるCentOS 7向けにインストール手順を作成してみました。
ミドルウェア構成としてApache + PHP + MariaDBでZabbix Server 4.4およびZabbix Agent 4.4のインストールします。
なお、RHEL 8向けのZabbix公式リポジトリで配布されいるZabbix Agent 2は、RHEL 7向けの同リポジトリでは配布されていないようなので、エージェントソフトウェアは従来のZabbix Agentをインストールします。
技術評論社
売り上げランキング: 120,839
[今までのZabbix 4.4 検証記事]
Zabbix 4.4 インストール手順(CentOS8 / Apache2.4 / PHP7.2 / MySQL8.0)
Zabbix 4.4 インストール手順(CentOS8 / Nginx1.14 / PHP7.2 / MySQL8.0)
Zabbix 4.4 インストール手順(CentOS8 / Apache2.4 / PHP7.2 / PostgreSQL10.6)
Zabbix 4.4 インストール手順(CentOS7 / Apache2.4 / PHP5.4 / MariaDB5.5)
Zabbix 4.4 冗長化構成の構築手順 (CentOS7)
前提条件
以下の前提条件で検証しています。
- ハードウェア: VirtualBox上の仮想マシン
- OS: CentOS 7.7
- ミドルウェア:
- Apache: 2.4.6 (OS同梱版)
- PHP: 5.4.16 (OS同梱版)
- MariaDB: 5.5.64 (OS同梱版)
- Zabbix Server: 4.4.0
- Zabbix Agent: 4.4.0
- 構築対象サーバはインターネットと疎通が取れること
- 各手順はroot権限を持つユーザで実施
OSは、CentOSインストールDVDのISOファイルから「Minimal」を選択しインストールを行いました。
バージョン情報は以下の通りです。
# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
# uname -r
3.10.0-1062.el7.x86_64
パッケージインストール
Zabbixの動作に必要となる各種パッケージをインストールします。
基本方針として、OS同梱版ソフトウェアはパッケージ管理の利便性を考慮してYumパッケージグループで関連パッケージをまとめてインストールします。その後、Zabbixの公式リポジトリからZabbix関連パッケージおよび依存パッケージをインストールします。
Apache
以下のコマンドを実行し、Apacheと関連パッケージをインストールします。
# yum -y groupinstall web-server
PHP
以下のコマンドを実行し、PHPと関連パッケージをインストールします。
# yum -y groupinstall php
MariaDB
以下のコマンドを実行し、MariaDBと関連パッケージをインストールします。
# yum -y groupinstall mariadb
Zabbix Server
以下のコマンドを実行し、Zabbix 4.4の公式リポジトリをインストールします。
なお、Zabbixのリリース状況によっては、新しいバージョンのパッケージが公開される可能性があります。以下の公式リポジトリで、「zabbix-release-4.4-x.el7.noarch.rpm」の最新バージョンを確認して、新しいバージョンが公開されている場合は、インストール対象のパッケージURLを適宜変更してください。
https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/
# yum -y install https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
以下のコマンドを実行し、Zabbix Serverの関連パッケージをインストールします。
# yum -y install zabbix-web-mysql zabbix-web-japanese zabbix-server-mysql
Zabbix Agent
以下のコマンドを実行し、Zabbix Agentをインストールします。
# yum -y install zabbix-agent
設定ファイルの変更
Apache
CentOS 7では、ApacheのPHPの実行環境にモジュール(mod_php)を使用します。そのため、Zabbixインストール時に作成されたApacheの設定ファイル内でPHPのパラメータを設定します。
viなどのテキストエディタで、ApacheのZabbix用設定ファイルを開きます。
# vi /etc/httpd/conf.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サーバホスト名
# 今回はローカルにDBをインストールするのでコメントアウトしたまま
# 外部DBサーバを使用する場合はコメントアウトを外し、DBサーバのIPアドレスorホスト名を指定する
# DBHost=localhost
# DB名
# 今回はデフォルトのzabbixを使用するので変更しない
DBName=zabbix
# DBユーザ名
# 今回はデフォルトのzabbixを使用するので変更しない
DBUser=zabbix
# DBパスワード
# 項目のコメントアウトを外し、クオートやスペースを含めずに指定する
# DBPassword=
↓
DBPassword=zabbixpass
Zabbix Agent
viなどのテキストエディタで、Zabbix Agentの設定ファイルを開きます。
# vi /etc/zabbix/zabbix_agentd.conf
設定変更内容は以下の通りです。
Zabbix Serverからのリモートコマンドを使用した監視の有効化と、監視を受け付けるサーバに関する設定を行います。
# リモートコマンド監視の有効化
# コメントアウトを外して、値を1に変更する
# EnableRemoteCommands=0
↓
EnableRemoteCommands=1
# 監視通信を許可するサーバ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の設定を行うため、以下のコマンドを実行しMariaDBの自動起動設定と、サービスの起動を行います。
# 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の設定に合わせて<パスワード>の箇所に「zabbixpass」を指定します。
# mysql -u root -p
Enter password: ←DBユーザrootのパスワードを入力
(略)
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> CREATE USER zabbix@localhost IDENTIFIED BY '<パスワード>';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON zabbix.* TO zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit;
Bye
以下のコマンドを実行し、Zabbix用のスキーマファイルをデータベースに読み込みます。
サーバのスペックによっては、この処理には数分かかる場合があります。
# zcat /usr/share/doc/zabbix-server-mysql-4.4.*/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
ファイアウォールの設定
以下のコマンドを実行し、外部からの通信を許可します。許可対象の通信は以下の通りです。
- 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 from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
# systemctl start httpd
Zabbix Server
以下のコマンドを実行し、Zabbix Serverの自動起動設定とサービス起動を行います。
# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
# systemctl start zabbix-server
Zabbix Agent
以下のコマンドを実行し、Zabbix Agentの自動起動設定とサービス起動を行います。
# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
# systemctl start zabbix-agent
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の日本語化
初期状態では英語表記なので、日本語化を行います。
ダッシュボード右上の人物アイコンを押下します。
「Language」の項目を「Japanese (ja_JP)」に指定し、「Update」を押下します。
ダッシュボードへ画面遷移するので、日本語表示に切り替わっていることを確認します。
参考情報
日本語フォントの標準対応
以前のバージョンのZabbixでは、日本語フォントのパッケージが同時にインストールされない問題があり、個別にインストールが必要でした。
RHEL 7(CentOS 7)向けZabbix 4.4は、パッケージインストール時の依存関係として「vlgothic-p-fonts」が同時にインストールされるので、別途のフォント設定は不要になりました。
以下のコマンドでフォント設定を確認すると、vlgothicフォントが指定されています。
# ls -l /etc/alternatives/zabbix-web-font
lrwxrwxrwx. 1 root root 48 10月 11 14:45 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf
参考:
Zabbix 4.0 LTS グラフ 日本語文字化けの修正方法 ※有識者からの意見を頂き更新
Zabbixインストール時の依存パッケージについて
CentOS 7のyumパッケージグループ機能を使用して、以下のミドルウェアをインストールした後、Zabbixの主要パッケージをインストールするときに要求される依存関係パッケージ一覧を採取しました。
- Apache(web-server)
- PHP(php)
- MariaDB(mariadb)
オフライン環境でZabbixをインストールする場合、上記パッケージグループと併せて以下のパッケージファイルを用意しておく必要があります。
zabbixリポジトリのパッケージは、インターネット上から直接ダウンロードしてサーバに転送しておきます。
BaseOS、
AppStream`リポジトリのパッケージは、インストールイメージのISOファイルをマウントしてyumリポジトリに登録することでインストールができます。
# yum install zabbix-web-mysql zabbix-web-japanese zabbix-server-mysql
(略)
=====================================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
=====================================================================================================
インストール中:
zabbix-server-mysql x86_64 4.4.0-1.el7 zabbix 2.4 M
zabbix-web-japanese noarch 4.4.0-1.el7 zabbix 9.9 k
zabbix-web-mysql noarch 4.4.0-1.el7 zabbix 9.4 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-43.el7 base 750 k
php-bcmath x86_64 5.4.16-46.el7 base 58 k
php-ldap x86_64 5.4.16-46.el7 base 53 k
php-mbstring x86_64 5.4.16-46.el7 base 505 k
php-mysql x86_64 5.4.16-46.el7 base 101 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 4.4.0-1.el7 zabbix 2.9 M
(略)
“Zabbix 4.4 インストール手順(CentOS7 / Apache2.4 / PHP5.4 / MariaDB5.5)” に対して1件のコメントがあります。