RockyLinuxおよびAlmaLinuxにZabbixをインストールする方法


適切な監視は、ITインフラストラクチャ全体を効果的に管理するための重要な要素です。堅牢なリアルタイム監視ソリューションは、ネットワークとアプリケーションのパフォーマンスの詳細な可視性を提供します。

エラーやインシデントが発生した実際の瞬間を特定し、アラートを送信するのに役立ちます。そうすることで、運用チームはタイムリーに介入措置を講じ、可能な限り短い時間でビジネスの継続性を確保できます。

これにより、ITリソースを最大限に活用し、収益を最大化することができます。そのため、効率的で信頼性の高い監視ツールに投資することの重要性を損なうことはできません。

Zabbixは、ITインフラストラクチャ全体を監視するために使用される無料のオープンソースのエンタープライズグレードの監視ツールです。ネットワークデバイス、サーバー(クラウドおよびオンプレミス)アプリケーション、データベース、さらにはDockerコンテナーを含むあらゆるものを監視できます。また、エラーを検出してアラートを送信し、ITチームが問題を解決するための迅速なアクションを可能にします。

このガイドでは、Rocky Linux/AlmaLinuxへのZabbixモニタリングツールのインストールに焦点を当てます。このガイドを書いている時点で、Zabbixの最新バージョンはZabbix6.0プレリリースです。

このガイドでは、これが必要なものです。

  • SSHアクセスを備えたRockyLinuxのインスタンス。
  • SSHアクセスを備えたAlmaLinuxのインスタンス。
  • 特権タスクを実行するように構成されたsudoユーザー。

ステップ1:Rocky /AlmaLinuxにLAMPをインストールする

Zabbixは、フロントエンドのPHPとバックエンドのJava&Cによって駆動される監視アプリケーションです。また、データを収集して保存するためのリレーショナルデータベースも必要です。そのため、Zabbixをインストールするホスティングスタックをインストールする必要があります。

Linux、Apache、MariaDB/MySQL、およびPHPの略であるLAMPは、開発者界では大きな一般的な名前です。これは、Apache Webサーバー、MariaDBまたはMySQL(リレーショナルデータベース)、およびサーバーサイドスクリプトエンジンであるPHPで構成されています。

まず、ApacheWebサーバーをインストールします。これを行うには、次のコマンドを実行します。

$ sudo dnf install @httpd

インストールしたら、Apacheを起動し、システムの起動時に実行できるようにします。

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Apacheが実行されていることを確認するには、次のコマンドを実行します。

$ sudo systemctl status httpd

出力は、Apacheがインストールされ、期待どおりに実行されていることを確認します。

前述のように、Zabbixにはすべてのデータを保存するためのリレーショナルデータベースが必要です。 MariaDBの信頼性と、それが提供する多数のセキュリティとパフォーマンスの強化を考慮して、MariaDBをインストールすることを選択しました。

Zabbixの最新バージョンでは、MariaDBバージョン10.5が期待どおりに機能する必要があります。開始するには、MariaDBYUMリポジトリを有効にする必要があります。

したがって、リポジトリファイルを作成します。

$ sudo vim  /etc/yum.repos.d/mariadb.repo

次の行を貼り付けます。

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/rhel8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
module_hotfixes=1

変更を保存して、構成ファイルを終了します。

次に、MariaDBGPG署名キーをインポートします。

$ sudo --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

最後に、MariaDBサーバーとクライアントをインストールするには、次のコマンドを実行します。

$ sudo dnf install MariaDB-server MariaDB-client

インストールが完了したら、MariaDBサーバーを起動して有効にし、起動時に自動的に起動するようにします。

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

データベースサーバーが実行されていることを確認します。

$ sudo systemctl status mariadb

インストールされているMariaDBのバージョンを確認するには、次のコマンドを実行します。

$ mysql -V

または、次のようにデータベースサーバーにログインすることもできます。

$ sudo mysql -u root -p

MariaDBのバージョンがウェルカムメッセージに印刷されます。

通常、MariaDBの設定は、必要なセキュリティの推奨事項に合わせて構成されていません。ありがたいことに、MariaDBは、データベースサーバーのセキュリティを強化するためのmysql_secure_installationスクリプトを提供します。

したがって、図のようにスクリプトを実行します。

$ sudo mysql_secure_installation

タスクのリストを実行する必要があります。まず、UNIXソケット認証プラグインに切り替えます。

残りのプロンプトについては、 Y と入力し、Enterキーを押します。これにより、匿名ユーザーを削除したり、リモートユーザーがrootとしてログインすることを禁止したり、ハッカーによって悪用される可能性のあるテストデータベースを削除したりできます。次に、最後に特権テーブルをリロードして変更を保存します。

UNIX_socket認証プラグインを使用すると、rootユーザーはパスワードなしでデータベースサーバーにログインできます。 MariaDBパスワード認証を有効にするには、MariaDBにログインします。

$ sudo mysql -u root -p

次に、rootパスワードを次のように設定します。

set password = password("yourpassword");

UNIXソケット認証からmysql_native_password認証に切り替えるには、コマンドを実行します

ALTER USER [email protected] IDENTIFIED VIA mysql_native_password USING PASSWORD("yourpassword");

これで、再度ログインするたびに、パスワードを入力する必要があります。

インストールするLAMPスタックの最後のコンポーネントはPHPです。これは、デフォルトのAppStreamリポジトリで提供されます。これは次のように確認できます。

$ sudo dnf module list PHP

デフォルトでは、PHP7.2はデフォルトで有効になっています。これをPHP7.4に変更する必要があります。

$ sudo dnf module reset php
$ sudo dnf module install php:7.4

次に、Zabbixのインストールに必要なPHPモジュールをインストールします。

$ sudo dnf install php php-curl php-fpm php-mysqlnd

PHPのバージョンを確認するには、を実行します。

$ php -v

PHP FastCGIの一般的な代替実装であるPHP-FPM(FastCGI Process Manager)サービスをインストールしました。

起動時に起動して有効にします。

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm

次に、そのステータスを確認します。

$ sudo systemctl status php-fpm

この時点で、LAMPスタックは正常にインストールされています。以降の手順では、Zabbixのインストールについて詳しく説明します。

ステップ2:Rocky /AlmaLinuxにZabbixをインストールする

LAMPスタックを配置したら、ZabbixリポジトリをインストールしてZabbixをインストールしましょう。

$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm

リポジトリがインストールされたら、Zabbixサーバー、Zabbixエージェント、および関連するZabbixパッケージを次のようにインストールします。

$ sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

インストールが完了したら、Zabbixデータベースと、Zabbixがデータベースにアクセスするために使用するデータベースユーザーを作成する必要があります。

$ sudo mysql -u root -p
CREATE USER [email protected] IDENTIFIED BY '[email protected]';

次に、データベースユーザーに、データベース上のすべてのタスクを実行するためのアクセス許可を付与します。

GRANT ALL PRIVILEGES ON zabbix_db.* TO [email protected];

次に、変更を有効にして、データベースサーバーを終了します

FLUSH PRIVILEGES;
EXIT;

次に、データベーススキーマをインポートします。

$ sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbix_user -p zabbix_db

パスワードの入力を求められたら、rootアカウントのパスワードではなく、Zabbixユーザーのパスワードを入力します。

さらに、Zabbix設定ファイルを編集します

$ sudo vim /etc/zabbix/zabbix_server.conf

DBName、DBUser、DBPasswordの値が、データベースに指定した値を反映していることを確認してください

DBHost=localhost
DBName=zabbix_db
DBUser=zabbix_user
[email protected]

変更を保存して、構成ファイルを終了します。

ステップ3:Rocky /AlmaLinuxでPHP-FPMを構成する

次に、PHP-FPMサービスにいくつかの追加構成が必要です。 www.conf構成ファイルを編集します。

$ sudo vim /etc/php-fpm.d/www.conf 

次の行がそのまま表示されることを確認します。

listen = /run/php-fpm/www.sock
 
user = apache
group = apache

listen.allowed_clients = 0.0.0.0
listen.owner = apache
listen.group = apache
listen.mode = 0660
pm = dynamic

変更を保存してファイルを終了します。

さらに、Zabbix.conf設定ファイルでタイムゾーン設定を指定します。

$ sudo vim /etc/php-fpm.d/zabbix.conf

示されている行を追加します。

php_value[date.timezone] = Africa/Nairobi

保存して終了。

加えられたすべての変更を適用するには、図のようにすべてのサービスを再起動します

$ sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm

さらに、起動時にそれらを有効にすることを検討してください。

$ sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm

ステップ4:Rocky /AlmaLinuxでSELinuxとファイアウォールを構成する

ブラウザからフロントエンドにアクセスするには、SELinuxをpermissiveに設定する必要があります。これを行うには、次のコマンドを実行します。

$ sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

次に、ファイアウォールに向かい、Zabbixサーバーとエージェントがリッスンするポート10050と10051とともにHTTPサービスを許可します。

$ sudo firewall-cmd --add-port=80/tcp --permanent
$ sudo firewall-cmd --add-port={10050,10051}/tcp --permanent
$ sudo firewall-cmd --reload

ステップ5:Rocky /AlmaLinuxでのZabbixのインストールを完了する

最後に、ブラウザを起動して、表示されているURLに移動します

http://server-ip/zabbix

最初に表示されるページは、インストールしているバージョンを大胆に表示するZabbixウェルカムページです。インストール言語を選択し、[次のステップ]ボタンをクリックします。

前提条件のリストで、一番下までスクロールし、すべての前提条件が最後の列に「OK」ラベルを付けていることを確認します。すべての要件が満たされていることが必須です。次に、[次のステップ]ボタンを押します。

[DB接続の構成]ページ。データベースの詳細を入力します。データベースポートの場合は、0のままにします。[次のステップ]を押します。

次に、サーバーの名前を指定し、タイムゾーンを確認して、お好みのテーマを自由に選択してください。次に、[次のステップ]を押します。

すべての設定を確認し、問題がなければ「次のステップ」を押してインストールを完了します。

指定したすべての設定が正しい場合は、Zabbixのフロントエンドが正常にセットアップされたことを通知するお祝いメッセージが表示されます。 「完了」ボタンを押します。

これにより、Zabbixログインページに移動します。次の資格情報を使用してログインします。

Admin:	Admin
Password:   zabbix

次に、[サインイン]をクリックしてZabbixダッシュボードにアクセスします。セキュリティを強化するために後でパスワードを変更できるので、心配する必要はありません。

最後に、Zabbixのダッシュボードにアクセスできるようになります。

そして、あなたはそれを持っています。 Rocky Linux/AlmaLinuxにZabbixモニタリングツールが正常にインストールされました。