ZabbixサーバーはOSSのためフリーでダウンロード・インストールすることができます。サーバーから監視する端末にZabbix agentをインストール・設定ファイルを編集することでリソース(CPU・メモリ・ディスク)、ログ監視などが可能です。Zabbix agentはWindows・Linux・mac OSなど様々なOSの動作をサポートしています。今回は、Linux OS(CentOS8)にZabbixサーバーをインストールし構築・設定しました。インストールから管理画面ログインまでの一連の構築手順を解説します。
目次
1.Zabbixとは
オープンソースの統合システム監視ソフトウェアとしてデファクトスタンダードになりつつある「Zabbix」はラトビア出身のアレクセイ・ウラジシェフ氏によって1998年に開発されたオープンソースのソフトウェアです。
中小企業~数千人規模の大企業で導入しており商用の統合監視ソフトウェアから乗り換える際に操作がシンプル・必要な機能を備えている・オープンソースのため無償で利用できる等の理由から選択肢として「Zabbix」が必然的に候補に挙がります。
主に以下の様な統合監視での利用シーンが多いです。
・サーバー・ネットワーク機器の死活監視
・リソース(CPU、メモリ、ディスク、etc..)閾値監視
・ログファイル監視
2.事前作業 SELinux無効化設定
SELinuxはWindowsのユーザーアカウント制御(UAC)のような機能です。サーバーとして動作させる際に予期せぬ制約・制限がかかることが多いため永続的に無効しておきます。
手順 1:
Tera Termを起動します。

手順 2:
ホストにZabbixサーバーをインストールするCentOSの「IPアドレス」を入力します。

手順 3:
「ユーザ名」・「パスフレーズ」を入力し管理者権限のユーザーでログインします。

ログイン出来ました。

手順 4:
以下、コマンドを実行し 「 /etc/selinux/config 」ファイルを編集します。
実行コマンド
vi /etc/selinux/config
変更前:enforcing
変更後:disabled

手順 5:
設定ファイル変更後は再起動しなければ反映されません。以下、コマンドを実行し再起動します。
実行コマンド
reboot

手順 6:
再起動後、Tera Termでログイン –> SELinuxがDisabled(無効)になったことを確認します。
実行コマンド
getenforce

手順 7:
zabbixサーバーがzabbix-agentとhttpのアクセスをできるように設定を変更します。
実行コマンド
firewall-cmd --add-port=10051/tcp --zone=public --permanent
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --reload
実行コマンドが正常終了されたことを確認します。

3.Zabbixリポジトリインストール
手順 1:
https://www.zabbix.com/jp/downloadへアクセスしてZabbixサーバーのプラットフォームを選択します。今回は以下で選択しました。
・ZABBIXバージョン:4.4
・OSディストリビューション:CentOS
・OSバージョン:8
・データベース:MySQL
・ WEB SERVER:Apache

手順 2:
2「a. Install Zabbix repository」のコマンドをコピーしてください。

手順 3:
リポジトリをインストールします。 手順 2でコピーしたコマンドをTera Termに貼り付け実行します。
実行コマンド
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

手順 4:
Zabbixサーバー関連のパッケージをインストールします。
実行コマンド
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

4回程度、以下画面が出力されます。
「y」を入力 –> 「Enter」キーを実行します。

実行コマンドが正常終了されたことを確認します。

4.MySQLインストール
MySQLをインストールします。
実行コマンド
dnf -y module install mysql

実行コマンドが正常終了されたことを確認します。

5.MySQLサービスの起動
手順 1:
mysqldサービスを起動します。
実行コマンド
systemctl start mysqld

手順 2:
mysqldサービスが開始したことを確認します。
実行コマンド
systemctl status mysqld

手順 3:
サーバー起動時に自動でmysqldサービスを起動するため以下、コマンドを実行します。
実行コマンド
systemctl enable mysqld

手順 4:
mysqldサービスが「 enabled 」になり自動起動設定になったことを確認します。
実行コマンド
systemctl is-enabled mysqld

6.MySQLの初期設定を行います。
以下のコマンドを実行し、MySQLの初期設定を行います。
※出力された画面でキーボード入力を求められる設定箇所のみ記載しています。
実行コマンド
mysql_secure_installation
Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:0
New password:password
Re-enter new password:password
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :y
All done!
7.データベース作成
手順 1:
データベースにログインします。
実行コマンド
mysql -u root -p

手順 2:
データベースを作成し、データベース接続ユーザ「zabbix」に全権限を与えています。
※ 権限は利用している環境あわせて適切な操作・設定を行ってください。
実行コマンド
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'password';
GRANT ALL ON zabbix.* TO zabbix@localhost;
quit;
実行コマンドが正常終了されたことを確認します。

手順 3:
Zabbix用のスキーマファイルをデータベースに読み込みます。
「 Enter password :」はpasswordを入力します。
実行コマンド
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbix -p zabbix


8.Zabbix設定ファイル変更
手順 1:
以下、コマンドを実行 –> 「 zabbix_server.conf 」を変更します。
実行コマンド
vi /etc/zabbix/zabbix_server.conf
変更前:# DBPassword=
変更後:DBPassword=password

手順 2:
以下、コマンドを実行 –> 「 zabbix.conf 」を変更します。
実行コマンド
vi /etc/php-fpm.d/zabbix.conf
変更前: ; php_value[date.timezone] = Europe/Riga
変更後:php_value[date.timezone] = Asia/Tokyo

9.サービス起動・ステータス確認
手順 1:
zabbixを動作させるために必要なサービスを再起動させ前手順で変更したファイルを反映させます。
実行コマンド
systemctl restart zabbix-server zabbix-agent httpd php-fpm

手順 2:
サービスが起動できているかステータス確認をします。
実行コマンド
systemctl status httpd

実行コマンド
systemctl status php-fpm

実行コマンド
systemctl status zabbix-server

実行コマンド
systemctl status zabbix-agent

10.サービス自動起動設定・ステータス確認
手順 1:
サーバー起動時にサービスが実行されるように自動起動設定にします
実行コマンド
systemctl enable zabbix-server zabbix-agent httpd php-fpm

手順 2:
各サービスが自動起動設定に変更できているかステータス確認をします。
実行コマンド
systemctl is-enabled httpd
systemctl is-enabled php-fpm
systemctl is-enabled zabbix-server
systemctl is-enabled zabbix-agent
各サービスが自動起動設定されたことを確認します。

11.Zabbixサーバー管理Web設定
手順 1:
以下、URLでZabbixサーバー管理Web画面に接続します。
http://<zabbixサーバーのIPアドレス>/zabbix –> 「Next step」を選択します。

手順 2:
すべて「OK」であることを確認 –> 「次のステップ」を選択します。

手順 3:
パスワードの設定項目でDBユーザzabbixのパスワードを入力 –> 「次のステップ」を選択します。

手順 4:
「Next step」を選択します。

手順 5:
「Next step」を選択します。

手順 6:
「Finish」を選択します。

手順 7:
以下のユーザー情報を入力 –> 「Sign in」を選択します。
・Username:Admin
・Password:zabbix
※デフォルトの初期設定です。

手順 8:
Zabbixダッシュボードにログインできました。

お疲れさまでした。以上でZabbixサーバー初期構築作業終了となります。