【図解で理解】入門編:CentOS 8へのZabbixインストール手順を解説

Linux

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:
「ユーザ名」・「パスフレーズ」を入力し管理者権限のユーザーでログインします。

以降、全ての手順を管理者権限を保有している「root」ユーザーで行っています


ログイン出来ました。

手順 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:
「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サービスを起動します。

MySQLインストール後、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
■パスワードポリシーの指定があります
“Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:”の箇所で以下のポリシーを選択できます。
・0:8文字以上
・1:8文字以上、英数大文字、小文字、記号を全て含む
・2:8文字以上、英数大文字、小文字、記号、辞書ファイルの指定文字列を全て含む

■DBパスワード設定があります。
“New password:”の箇所でDBパスワードを設定します
本記事ではpasswordとしています

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
本記事でのEnter password:は「password」となります

手順 2:
データベースを作成し、データベース接続ユーザ「zabbix」に全権限を与えています。
※ 権限は利用している環境あわせて適切な操作・設定を行ってください。

Zabbixが対応している文字コード及び照合順序は
文字コードが「utf8」、照合順序が「utf8_bin」です。
現時点(2020/03)のバージョンでは、utf8mb4での動作は保証されていません。

実行コマンド

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
コマンド実行後、本記事でのEter password:は「password」となります

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」であることを確認 –> 「次のステップ」を選択します。

良くあるNGの事例として
PHP オプション「data.timezone」がNGとなることがあります
その場合は、/etc/php-fpm.d/zabbix.confを確認しましょう

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

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

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

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

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

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

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

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