プライム・ストラテジー「KUSANAGI」開発チームの謝です。
サーバー環境を監視する際に、Zabbixは堅牢で多機能なソリューションとして知られていると思います。
今回の記事では、高性能な仮想マシン環境であるKUSANAGI9にZabbix 6.0をインストールするプロセスについて説明します。
現在Zabbixの最新版は6.4ですが、6.4はLTS(長期サポート)ではないため、今回はZabbix 6.0 LTSで説明します。
要件確認と事前準備
Zabbix 6.0インストール作業に取り掛かる前に、KUSANAGI9環境が最新に更新され、初期設定(kusanagi init)まで完了していることを確認してください。
システム要件
- OS: KUSANAGI 9.4.11 (AlmaLinux 8.9)もしくはそれ以上を推奨
- CPU: デュアルコアのCPU、もしくはそれ以上を推奨
- メモリ: 最低2GB以上、大規模システムでは8GB以上を推奨
- ディスクスペース: Zabbix自体にはそれほど多くのスペースは必要ありませんが、データベースやログには十分なスペースを提供する必要があります。最低20GBの空き容量目安にしてください
- データベースサーバ:1 MariaDBの最新安定版。
ソフトウェア要件
- Webサーバ: 2Nginxの最新安定版
- PHP: PHP 7.2以上
上記の要件を踏まえて、KUSANAGI9環境の初期設定は次のオプションをお勧めします。
[kusanagi@ZabbixServer ~]$ kusanagi init --passwd "パスワード" --phrase "パスフレーズ" --dbrootpass "DBのルートパスワード" --nginx124 --php83 --mariadb10.6
Zabbix 6.0をインストール
ステップ1:Zabbixリポジトリのインストール
Zabbixはデフォルトリポジトリに含まれていませんので、パッケージマネージャーを使ってインストールできるように、公式のZabbixリポジトリをKUSANAGI9に追加する必要があります。
[root@ZabbixServer ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
[root@ZabbixServer ~]# dnf clean all
ステップ2:Zabbixサーバ、フロントエンド、エージェントのインストール
リポジトリが追加されたら、以下のコマンドでZabbixサーバ、ウェブフロントエンド、Zabbixエージェントをインストールします
[root@ZabbixServer ~]# dnf install zabbix-agent zabbix-server zabbix-sql-scripts zabbix-web zabbix-web-japanese
ステップ3:Zabbixフロントエンド用プロファイルのプロビジョン
kusanagi provison3コマンドでウェブインターフェースアクセス用のプロファイルをプロビジョンします。
[kusanagi@ZabbixServer ~]$ kusanagi provision --lamp --fqdn ホスト名 --email メールアドレス --dbuser "DBのユーザー名" --dbname "DB名" --dbpass "DBのパスワード" プロファイル名
各オプションについて、少し補足説明します。
CMSプラットフォームなどは利用しないのため、使用するCMSのオプションは「--lamp
」を指定します。
ウェブからアクセスのホスト名は「--fqdn ホスト名」
を指定します。
ステップ4:データベースの設定調整
kusanagiプロビジョンで作成したデータベースのcollateデフォルトはutf8mb4_general_ciです。Zabbixのデータベースのcollateはutf8mb4_binにするが必要なので、プロビジョンで作成したデータベースのcollateを変更します。
[root@ZabbixServer ~]# mysql -uroot -p
Enter password: ※kusanagi init時に指定したmysqlのルートパスワードを入力します。
MariaDB [(none)]> alter database データベース名 character set utf8mb4 collate utf8mb4_bin;
MariaDB [(none)]> quit
ステップ5:データベースに初期スキーマとデータのインポート
kusanagi provisionに作成したデータベースにZabbixの初期スキーマとデータをインポートします。
[root@ZabbixServer ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uDBのユーザー名 -p DB名
Enter password: ※kusanagi provision時にしたDBのパスワードを入力してください。
ステップ6:Zabbix用データベースの設定
データベースの詳細を指定するために、Zabbixサーバーの設定ファイル/etc/zabbix/zabbix_server.confを編集します。
[root@ZabbixServer ~]# vi /etc/zabbix/zabbix_server.conf
# 105行目:DB名を指定
DBName=データベース名
# 121行目:DBのユーザー名を指定
DBUser=DBのユーザー名
# 130行目:DBのパスワードを追記
DBPassword=DBのパスワード
これらの変更を行った後、ファイルを保存して閉じます。
ステップ7:プロファイルにフロントエンドのドキュメントルート設定
Zabbixのフロントエンドのドキュメントルートはプロファイルのドキュメントルートパスが違うため、プロファイルのドキュメントルートをZabbixのフロントエンドのドキュメントルートにシンボリックを設置します。
[kusanagi@ZabbixServer ~]$ cd プロファイル名/
[kusanagi@ZabbixServer プロファイル名]$ ls -l DocumentRoot/
合計 0
# ドキュメントルート内にファイルがないこと確認されたらドキュメントルートフォルダを削除
[kusanagi@ZabbixServer zabbix]$ rm -rf DocumentRoot
# シンボリックを設置
[kusanagi@ZabbixServer zabbix]$ ln -s /usr/share/zabbix/ DocumentRoot
[kusanagi@ZabbixServer zabbix]$ ls -l DocumentRoot
lrwxrwxrwx. 1 kusanagi kusanagi 18 2月 1 17:01 DocumentRoot -> /usr/share/zabbix/
ステップ8:Zabbixフロントエンド用のPHP設定
kusanagi9のmax_execution_timeとmax_input_timeの値はZabbixの要件と違うので、事前調整します。
[root@ZabbixServer ~]# vi /etc/opt/kusanagi/php.d/extensions/99-zabbix.ini
max_execution_time=300
max_input_time=300
これらの追記を行った後、ファイルを保存して閉じます。kusanagi restartでサービスを再起動します。
[root@ZabbixServer ~]# kusanagi restart
ステップ9:Zabbixサーバーの起動と有効化
すべてが設定されたので、Zabbixサーバーとエージェントを開始し、再起動時に自動起動するように設定します。
[root@ZabbixServer ~]# systemctl enable --now zabbix-server
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.
[root@ZabbixServer ~]# systemctl enable --now zabbix-agent
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
ステップ10:Zabbixウェブインターフェースへのアクセス
最後に、ブラウザを通じて以下のURLを訪れることでZabbixフロントエンドにアクセスできます。
https://ホスト名
※SSL証明書を設定され場合は「http://ホスト名」でアクセスしてください。
フロントエンド画面に表示される指示に従ってセットアップを完了してください。
おめでとうございます!KUSANAGI9にZabbix 6.0を正常にインストールし、今日から最も強力なオープンソースツールの一つを使ってインフラストラクチャの監視が始められます。
最後に
KUSANAGI9環境にZabbix 6.0をインストールすることは、監視という複雑なタスクを効率的に管理する第一歩です。10のステップを通じて、サーバー自体からネットワーク上の他のデバイスに至るまで、幅広い監視が可能となります。
しかし、インストール直後の設定はあくまで基本的なものです。安定したモニタリングシステムを維持するためには、定期的なメンテナンスと監視システム自体の監視を忘れないでください。
最後に、Zabbixが提供する豊富なドキュメントとコミュニティサポートを活用することで、さらに多機能な監視環境の構築が可能となります。監視システムは動的なものであり、絶えず進化するネットワーク環境に合わせて柔軟に拡張していくことが重要です。
この強力なツールと適切な管理を通じて、インフラストラクチャの健全性とセキュリティを長期にわたって保ち、業務の効率化に大きく貢献することができるでしょう。