Contents
オープンソースの統合監視ソフトウェア「MIRACLE ZBX」
オープンソースの Zabbix をベースに、サイバートラストが機能強化・修正を加えて提供するエンタープライズ向けの統合システム監視ソフトウェア「MIRACLE ZBX」。セキュリティ基準の国際標準となりつつある米国標準技術研究所(NIST)のセキュリティガイドライン「NIST SP800-171」および「NIST SP800-53」の一部要件に準拠するセキュリティ機能強化を実装しています。
SELinux を permissive に設定する必要があります(SELinuxをDisabledにしている場合は有効にする)
1 2 3 4 5 6 |
# setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config # cat /etc/selinux/config | grep SELINUX= # SELINUX= can take one of these three values: # NOTE: In earlier Fedora kernel builds, SELINUX=disabled would also SELINUX=permissive |
1. MIRACLE ZBX 7.0用のdnfリポジトリを登録
リポジトリをインストール
1 |
# dnf install https://ftp.miraclelinux.com/zbx/7.0/miracle-zbx-release-7.0-1.noarch.rpm |
2. MIRACLE ZBXのファイアウォールを設定
MIRACLE ZBXのコンポーネントが利用するポートは次の通り
MIRACLE ZBX Webフロントエンド : 80/tcp
MIRACLE ZBXエージェント/エージェント2 : 10050/tcp
MIRACLE ZBXサーバ/プロキシ : 10051/tcp
MIRACLE ZBX Java Gateway : 10052/tcp
今回は「MIRACLE ZBX Webフロントエンド」「MIRACLE ZBXエージェント2 」「MIRACLE ZBXサーバー」のみインストールしますので次の通りポートを許可します。
1 2 |
# firewall-cmd --add-port={80,10050,10051,10052,10053}/tcp --permanent # firewall-cmd --reload |
3. MIRACLE ZBXサーバーとWebフロントエンドのインストール
インストール環境は次の通りです
Apache/2.4.57
Mysql Ver 8.0.36
PHP 8.0.30 (cli)
PHP 8.0.30 (fpm-fcgi)
①MariaDB/MySQL用のMIRACLE ZBXパッケージをインストール
1 |
# dnf install miracle-zbx-server-mysql miracle-zbx-sql-scripts |
②MIRACLE ZBXサーバー用のデータベースとユーザを作成
Zabbixサーバーのデータベーススキーマを作成します。
rootアカウントでMySQLサーバーにログインし、MySQLデータベース(例:zabbix)とユーザー(例:zabbix)、パスワード(例:?Wabcd123)を作成します。
1 2 3 4 5 6 7 |
# mysql -u root -p Password: > create database zabbix character set utf8mb4 collate utf8mb4_bin; > create user zabbix@localhost identified by '?Wabcd123'; > grant all privileges on zabbix.* to zabbix@localhost; > set global log_bin_trust_function_creators = ON; > exit; |
③MIRACLE ZBXの初期データをインポート
新しく作成したデータベースに、MIRACLE ZBXの初期データベーススキーマとデータをインポートします。
1 2 |
# zcat /usr/share/miracle-zbx-sql-scripts/mysql/create.sql.gz | mysql zabbix -uzabbix -p Entter password ←ユーザーzabbixのパスワード |
④MIRACLE ZBXサーバーの設定ファイルを編集
MIRACLE ZBXサーバーがデータベースに接続するためにMIRACLE ZBXサーバー設定ファイルを編集し、データベース設定を更新する
1 2 3 |
# vi /etc/zabbix/zabbix_server.conf 141行目 : コメント解除してパスワード記入 DBPassword=[データベース作成時のユーザーzabbixのpassword] |
⑤サービスzabbix-serverを起動
1 2 |
# systemctl enable --now zabbix-server # systemctl start zabbix-server |
⑥Webフロントエンド用パッケージとApache用のパッケージをインストール(MySQL/MariaDB利用の場合)
1 |
# dnf install miracle-zbx-web miracle-zbx-web-mysql miracle-zbx-web-japanese miracle-zbx-apache-conf miracle-zbx-web-deps |
⑦httpdとphp-fpmを起動
1 2 |
# systemctl enable --now httpd php-fpm # systemctl restart --now httpd php-fpm |
4. MIRACLE ZBXサーバー自身も監視する
①サーバー自身も監視対象にするため本サーバーにMIRACLE ZBXエージェント2パッケージをインストール
1 |
# dnf install miracle-zbx-agent2 |
➁zabbix-agent2を起動
1 2 3 |
# systemctl enable --now zabbix-agent2 Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service → /usr/lib/systemd/system/zabbix-agent2.service. # systemctl start zabbix-agent2 |
5. MIRACLE ZBX Webインストーラーの実行
MIRACLE ZBX Webインストーラは、「サーバーのIP/zabbix」または「ドメイン/zabbix」でアクセスできます。
Webブラウザーを開き、「http://[your-server-IP_Address]/zabbix」を入力します。
次の画面になる。[ Next step]をクリック。
すべての要件がOKになっていることを確認後、[ Next step ]をクリック
「Database name」「User」「Password」欄には、設定した情報を入力し、[ Next step ]をクリック
「Zabbix server names」は任意の名称を入力し、タイムゾーンにはAsia/Tokyoを選択する
自身のタイムゾーンになっているか確認後、[ Next step ]をクリック
設定の再確認 情報が正しければ[Next step ]をクリック
インストールが正常に完了すると、次のページが表示されます。「Finish」クリック
Zabbixログインページにリダイレクトされます
次の資格情報を使用して「Sign in」します。
ユーザー名:Admin
パスワード:zabbix
ログインに成功すると次の画面(Zabbixダッシュボード)になる。
6. MIRACLE ZBXの各種設定
6.1 管理者パスワード変更
セキュリティ上、デフォルトの管理者パスワードを変更しておきます
また管理者のメールアドレスも設定しておきます
上記ダッシュボードが表示されれば、続いて
①左ペインで [Users] - [Users] を選択して、右ペインで [Admin] をクリックします
②[Change paddword] をクリック
③[Current password]には"zabbix"と入力し、変更したいパスワードを2回入力して [Update] をクリックする
下記画面が出れば[OK]をクリック
④再度ログイン画面にリダイレクトされるので
ユーザー名:Admin
パスワード:変更したパスワード
を入力する
6.2 メールでの通知設定
各種情報等をメールで受け取れるように通知の設定をしておきます。
サーバーにpostfix等SMTPサーバーが構築されていることが前提です。
①ダッシュボードが表示されれば、左ペインで [Alerts] - [Media Types] を選択し、右ペインで [Email] をクリック
➁下図のようにメールサーバーの設定をし、 [Enabled] にチェックを入れ [Update] ボタンをクリック
➂[Email] が [Enabled] になります
④左ペインで [Users] - [Users] を選択し、右ペインで [Admin] をクリック
⑤[Media] タブに移動し、[Add] をクリック
⑥[Type] は [Email] を選択し、[Send to] に管理者のメールアドレスを入力し[Add] をクリック
⑦[Update] ボタンをクリック
⑧左ペインで [Alerts] - [Actions] - [Trigger actions] をクリック
⑨右ペインで [Report problems to Zabbix administrators] をクリック
⑩[Enabled] にチェックを入れ[Update] ボタンをクリック
以上で、各種障害通知が設定したメールアドレスへ送信される
7.MIRACLE ZBXの起動確認
①左ペインで[Monitoring] [Hosts]をクリックすると現在は[Zabbix server]のみ表示される
➁[Zabbix server]をクリックし[Graphs]をクリックすると下図のようなZabbix server自身の基本的な監視状況を確認できる
8. 監視対象ホストを追加する
8.1.監視対象としたいサーバーでの設定
下記サーバーを対象に追加
OS : Ubuntu22.04
IPアドレス : 192.168.11.200
Host name : Lion
①aptリポジトリの登録
MIRACLE ZBX 7.0用のaptリポジトリを登録します
1 |
# curl -fsSL https://ftp.miraclelinux.com/pub/zbx/RPM-GPG-KEY-MIRACLE-4096 | gpg --dearmor -o /etc/apt/keyrings/miracle-zbx.gpg |
/etc/apt/sources.list.dにMIRACLE ZBXのリポジトリファイルを追加
以下の内容で/etc/apt/sources.list.d/miracle-zbx.listを作成
1 2 3 |
# vi /etc/apt/sources.list.d/miracle-zbx.list deb [arch=amd64 signed-by=/etc/apt/keyrings/miracle-zbx.gpg] https://ftp.miraclelinux.com/pub/zbx/7.0/ubuntu/amd64 jammy main |
リポジトリをアップデートしMIRACLE ZBXエージェントパッケージをインストール
1 |
# apt update |
➁ 監視対象としたいサーバーにMIRACLE ZBXエージェント2インストール
1 |
# apt install miracle-zbx-agent2 |
➂設定ファイル/etc/zabbix/zabbix_agent2.confを編集
1 2 3 4 5 6 7 8 |
# vi /etc/zabbix/zabbix_agent2.conf # 84行目 : Zabbix サーバーを指定(今回は192.168.11.83) Server=192.168.11.83 # 137行目 : Zabbix サーバーを指定(今回は192.168.11.83) ServerActive=192.168.11.83 # 148行目 : 自身のホスト名に変更(今回はLion) Hostname=Lion |
1 2 |
# systemctl enable zabbix-agent2 # systemctl restart zabbix-agent2 |
④Zabbix-agent側のファイアウォールを設定
Zabbixポート10050(Zabbixサーバー側)および10051(zabbix agent側)を許可する必要があります。
1 2 |
# ufw allow 10050:10051/tcp # ufw reload |
8.2. Zabbix WEB UIでの設定
Zabbix の管理サイトにログインし、左ペインで [Datacollection] - [Hosts] を選択し、右ペイン上部の [Create Host] ボタンをクリック
[Hostname] にはホスト名を入力(今回はLion)
[Templates] は、[Select] ボタンをクリックし、[Template group]横の[Select] ボタンをクリックし[Templates/Operating systems]をクリックする
監視テンプレートのリストの中から Linux OS で CPU 等の一般的な項目を監視する場合は、[Linux by Zabbix agent] を選択し、[Select]ボタンをクリック
[Host groups] の[Select]ボタンをクリック、[Linux servers]を選択し、[Select]ボタンをクリック
[Interfaces] にはInterfadesの中の[Add]をクリック[Agent]を選択し、監視対象の IP アドレスを入力後下段の[Add]をクリック
新しく監視対象サーバーが登録されている
左ペイン[Monitoring][Hostd][Lion]をクリックし[Graphs]を選択する、しばらくすると追加した対象ホストのデータが表示されるようになる
9.監視対象項目を追加
今回は Zabbix サーバー上の Apache httpd サービスを監視対象に追加する
9.1. 監視対象とする Zabbix サーバーの Apache httpd で server-status を有効化する
1 2 3 4 5 6 7 |
新規作成 # vi /etc/httpd/conf.d/server-status.conf <Location /server-status> SetHandler server-status Require local </Location> |
1 |
# systemctl reload httpd |
9.2.Zabbix の管理サイトにログインし、左ペインで [Data collection] - [Hosts] をクリックし、右ペインで、監視項目を追加したいホストをクリック(今回はZabbix server)
3. [Templates] セクションの [Select] ボタンをクリックし、さらに [Select] ボタンをクリック
4. [Templates/Applications] をクリック
5. [Apache by HTTP] を選択し、[Select]
6. [Update] ボタンをクリックして設定を更新
7. [Apache by HTTP] リンクをクリック
8. [Macros] タブを開き、{$APACHE.STATUS.HOST} に [127.0.0.1] を入力して [Update]
しばらくすると下図のようにデータが表示されるようになる