Zabbixは、ネットワークサービス、ネットワークハードウェア、サーバー、およびアプリケーション用のオープンソースの監視ツールです。システムとサーバーのステータスを追跡および監視するように設計されています。 Zabbixは、MySQL、PostgreSQL、SQLite、IBM DB2などの多くのデータベースシステムをサポートして、データを保存します。 ZabbixバックエンドはCで記述され、フロントエンドはPHPで記述されています。
このチュートリアルでは、CentOS8システムにオープンソースのモニタリングシステムZabbix4.0LTSをインストールして設定する方法を段階的に説明します。このガイドでは、Zabbixインストール用のLAMPスタックのインストールと構成、Zabbix管理WebUIのデフォルトパスワードを変更する方法など、いくつかのトピックについて説明します。
前提条件
- CentOS8サーバー
- root権限
- LinuxCentOSコマンドに関する基本的な知識
私たちが行うこと:
- ApacheHttpdをインストールする
- PHPのインストールと構成
- MariaDBのインストールと構成
- Zabbix4.0LTSのインストールと設定
- Firewallを設定する
- SELinuxを設定する
- Zabbixのインストール後
- Zabbixのデフォルトの管理者を変更する
このガイドでは、WebサーバーにApache/httpdを使用します。 ZabbixサーバーはApacheWebサーバーで実行されます。
以下のdnfコマンドを使用してApache/httpdパッケージをインストールできます。
dnf install httpd
インストールが完了したら、httpdサービスをシステムブートに追加し、次のコマンドを使用してサービスを開始します。
systemctl enable httpd
systemctl start httpd
次に、以下のnetstatコマンドを使用してhttpdサービスをチェックし、HTTPポート「80」が「LISTEN」状態になっていることを確認します。
netstat -plntu
結果は以下のとおりです。
その結果、httpdサービスはCentOS8サーバーのデフォルトのHTTPポート「80」で稼働しています。
Apache / httpd Webサーバーをインストールした後、Zabbixのインストールに必要なPHPパッケージとその拡張機能をインストールします。 PHPをZabbixのインストール要件としてインストールして設定します。
以下のdnfコマンドを使用してPHPパッケージをインストールします。
dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath
インストールが完了したら、vimエディターを使用してPHP構成'/etc/php.ini'を構成します。
vim /etc/php.ini
以下に示すように、構成の値を変更します。
date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
保存して閉じます。
次に、Apache/httpdサービスを再起動します。
systemctl restart httpd
そして、CentOS8サーバーへのPHPのインストールと構成が完了しました。
デフォルトでは、Zabbixは、MySQL、PostgreSQL、SQLite、Oracleデータベースなど、インストール用の多くのデータベースのサポートを提供します。このガイドでは、ZabbixインストールのデータベースとしてMariaDBを使用します。
以下のdnfコマンドを使用してmariadb-serverをインストールします。
dnf install mariadb-server
インストールが完了したら、MariaDBサービスをシステムブートに追加し、次のコマンドを使用してサービスを開始します。
systemctl enable mariadb
systemctl start mariadb
MariaDBサーバーが稼働しています。
次に、MariaDBのルートパスワードを設定します。ルートパスワードを設定するには、以下の「mysql_secure_installation」コマンドを実行します。
mysql_secure_installation
ルートパスワードを入力してEnterキーを押します。
Set a root password? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
そして、MariaDBルートパスワードが構成されました。
次に、Zabbixインストール用の新しいデータベースとユーザーを作成します。パスワード「[emailprotected]」を使用して「zabbix」という名前の新しいデータベースとユーザーを作成します。
以下のmysqlコマンドを使用してMariaDB/mysqlシェルにログインします。
mysql -u root -p
TYPE YOUR ROOT PASSWORD:
そして、シェルで以下のMariaDBクエリを実行します。
create database zabbix;
grant all privileges on zabbix.* to [email protected]'localhost' identified by '[email protected]';
grant all privileges on zabbix.* to [email protected]'%' identified by '[email protected]';
flush privileges;
その結果、Zabbixインストール用の新しいデータベースとユーザーが作成されました。
このステップでは、Zabbix4.0LTSをインストールします。 ZabbixLTSバージョンを公式のZabbixリポジトリからインストールします。
-リポジトリの追加とパッケージのインストール
まず、以下のrpmコマンドを使用して、Zabbix4.0LTSリポジトリをシステムに追加する必要があります。
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
その後、システムパッケージのキャッシュを削除し、システムで利用可能なすべてのリポジトリを確認します。
dnf clean all
dnf repolist
これで、次のような結果が得られます。
その結果、ZabbixリポジトリがCentOS8システムに追加されました。
次に、以下のdnfコマンドを実行して、Zabbixサーバーとエージェントをインストールします。
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Zabbixのインストールが完了するのを待ちます。
ガンバー
-MySQLデータベーススキームのインポート
Zabbixのインストールが完了したら、ZabbixのMariaDBデータベーススキームをインポートします。
'/ usr / share / doc / zabbix-server-mysql'ディレクトリに移動し、データベーススキームを抽出します。
cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz
次に、以下のMySQLコマンドを使用して、データベーススキームを「zabbix」データベースにインポートします。
mysql -u root -p zabbix < create.sql
MariaDBのルートパスワードを入力すると、データベーススキーマがインポートされます。
-ZabbixサーバーとZabbixエージェントを設定します
ZabbixサーバーはZabbixソフトウェアシステムの中心的なプロセスです。設定「/etc/zabbix/zabbix_server.conf」を編集してZabbixサーバーを設定します。
vimエディターを使用して「/etc/zabbix/zabbix_server.conf」構成ファイルを編集します。
vim /etc/zabbix/zabbix_server.conf
データベースライン構成で、以下のように構成を入力し、「DBPassword」値を独自のデータベースパスワードに変更します。
DBHost=localhost
[email protected]
保存して閉じます。
その後、zabbixサーバーをシステムブートに追加します。
systemctl enable zabbix-server
そして、zabbixサーバーの設定が完了しました。
次に、zabbix-agentの設定を示します。 zabbix-agentは、監視対象のすべてのマシンにインストールする必要があります。
vimエディターを使用してzabbix-agent設定'/etc/zabbix/zabbix_agentd.conf'を編集します。
vim /etc/zabbix/zabbix_agentd.conf
次に、「Server」と「ServerActive」の値をzabbix-serverのIPアドレスで次のように変更します。
Server=10.5.5.50
ServerActive=10.5.5.50
保存して閉じます。
次に、zabbix-agentサービスをシステムブートに追加します。
systemctl enable zabbix-agent
そして、zabbix-agentの設定が完了しました。
ファイアウォール構成では、HTTP、HTTPS、Zabbixサーバーとエージェントが使用するポートなどの新しいサービスを追加します。
次のコマンドを使用して、HTTP、HTTP、およびZabbixポート「10050-10051」をfirewalldに追加します。
firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
その後、firewalldをリロードし、利用可能なすべてのサービスとポートを確認します。
firewall-cmd --reload
firewall-cmd --list-all
そして、以下のような結果が表示されます。
その結果、HTTP、HTTPS、およびZabbixポート「10050-10051」がfirewalldに追加されました。
SELinuxが有効になっているCentOS8でZabbixを実行している場合は、このセクションですべてのコマンドを実行する必要があります。
以下のdnfコマンドを使用してSELinuxユーティリティをインストールします。
dnf install policycoreutils checkpolicy setroubleshoot-server
インストールが完了したら、新しいディレクトリ「〜/zabbix-linux」を作成してそのディレクトリに移動します。
mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/
次に、vimエディターを使用して新しいSELinuxポリシーモジュールファイル「zabbix_server_add.te」を作成します。
vim zabbix_server_add.te
次の構成を貼り付けます。
module zabbix_server_add 1.1;
require {
type zabbix_var_run_t;
type tmp_t;
type zabbix_t;
class sock_file { create unlink write };
class unix_stream_socket connectto;
class process setrlimit;
class capability dac_override;
}
#============= zabbix_t ==============
#!!!! This avc is allowed in the current policy
allow zabbix_t self:process setrlimit;
#!!!! This avc is allowed in the current policy
allow zabbix_t self:unix_stream_socket connectto;
#!!!! This avc is allowed in the current policy
allow zabbix_t tmp_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };
#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability dac_override;
保存して閉じます。
次に、以下のcheckmoduleコマンドを使用して、「zabbix_server_add.te」をポリシーモジュールに変換します。
checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
次に、semodule_packageコマンドを使用してポリシーモジュール「zabbix_server_add.mod」をコンパイルします。
semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
その後、コンパイルされたポリシーモジュール「zabbix_server_add.pp」をシステムにロードします。
semodule -i zabbix_server_add.pp
Zabbixのローカルカスタムポリシーモジュールがロードされました。
次に、追加のSELinux構成について。以下のsetsboolコマンドを実行します。
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on
そして、ZabbixのSELinux構成が完了しました。
まず、次のコマンドを使用してzabbix-serverを起動します。
systemctl start zabbix-server
systemctl status zabbix-server
次に、zabbix-agentサービスを開始します。
systemctl start zabbix-agent
systemctl status zabbix-agent
次に、httpdサービスを再起動します。
systemctl restart httpd
次に、Webブラウザを開き、次のようにサーバーのIPアドレスを入力します。
http://10.5.5.50/zabbix/
そして、Zabbixからウェルカムメッセージが届きます。
[次のステップ]ボタンをクリックします。
これで、Zabbixはインストールのすべてのシステム要件をチェックします。エラーがないことを確認してください。
[次のステップ]ボタンをクリックします。
データベース情報については、すべてのデータベース設定を入力してください。
そして、[次のステップ]ボタンをクリックします。
次に、Zabbixサーバーの詳細構成が表示されます。 [ホスト]フィールドに、独自のサーバーIPアドレスを入力し、名前を独自のドメイン名またはホスト名に変更します。
[次のステップ]ボタンをもう一度クリックします。
これらの設定がすべて正しいことを確認してから、[次へ]ボタンをクリックしてZabbixをインストールします。
インストールが完了すると、次のようなページが表示されます。
[完了]ボタンをクリックすると、Zabbixログインページにリダイレクトされます。
デフォルトのユーザー「admin」とパスワード「zabbix」でログインします。
そして、デフォルトのZabbixダッシュボードが表示されます。
そして、Zabbixのインストールが完了しました。
この最後のステップでは、zabbixのデフォルトの管理者パスワードを変更します。
Zabbix管理ダッシュボードで、右上のユーザーアイコンをクリックします。
[パスワードの変更]ボタンをクリックして、新しいパスワードを入力します。
次に、[更新]ボタンをクリックすると、デフォルトの管理者パスワードが変更されました。
そして、CentOS8システムでのZabbixのインストールと設定は正常に完了しました。