2022 年 06 月 15 日
Zabbix 5.4 の新機能:定期レポート機能について紹介します
Zabbix 5.4 から定期レポート機能が追加されました。MIRACLE ZBX では 6.0 から本機能が利用できます。この機能は Web フロントエンドで確認できるダッシュボードのスクリーンショットを PDF としてメールで配信するものです。ダッシュボードを新たに作成、カスタマイズすることで必要な情報をレポートとして配信できます。Web フロントエンドにアクセス出来ない場合でも、監視対象の状況を定期的に確認するといった使い方ができるでしょう。本記事では、MIRACLE ZBX を使った定期レポート機能の設定方法について紹介します。
定期レポート機能の設定手順
今回は、MIRACLE ZBX サーバー、MIRACLE ZBX Web フロントエンドがインストールされているマシンに追加で定期レポート機能を設定します。検証では MIRACLE LINUX 8 を使用し、MIRACLE ZBX 6.0.3-2 をインストールしています。
定期レポート機能を利用するために必要な設定の流れは以下のようになります。
- Google Chrome パッケージをインストールする
- MIRACLE ZBX Web サービスパッケージをインストールし、設定ファイルを更新する
- MIRACLE ZBX サーバーの設定ファイルを更新する
- MIRACLE ZBX Web フロントエンドの設定を更新する
- 具体的なレポート送信の内容・送信先・スケジュールを追加する
Google Chrome のインストール
定期レポート機能を動作させるためには、Google Chrome が必要です。以下のようにコマンドを実行して、Google Chrome パッケージをインストールします。
# dnf install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
MIRACLE ZBX Web サービスのインストールと設定ファイルの更新
MIRACLE ZBX Web サービスパッケージをインストールします。
# dnf install miracle-zbx-web-service
設定ファイル /etc/zabbix/zabbix_web_service.conf を編集します。 ここでは MIRACLE ZBX Web サービスへの接続を許可する MIRACLE ZBX サーバーの IP アドレスを指定します。今回は同一のマシンにインストールするため AllowedIP には localhost を指定しています。
AllowedIP=localhost
定期レポート機能ではデフォルトでポート 10053/tcp を利用します。MIRACLE ZBX サーバーと同じマシンで Web サービスを動作させるため不要ですが、それぞれのサービスを別のマシンで稼働させる場合は以下のようにファイアウォールの設定を変更します。
# firewall-cmd --permanent --add-port=10053/tcp # firewall-cmd --reload
サービス zabbix-web-service を起動します。
# systemctl enable --now zabbix-web-service
MIRACLE ZBX サーバーの設定ファイルの更新
MIRACLE ZBX サーバーの設定ファイル /etc/zabbix/zabbix_server.conf を更新します。StartReportWriters では定期レポート機能に関する処理を実行するプロセスをいくつ起動するかを指定できます。デフォルトでは 0 となっており、この場合レポート機能を処理するプロセスが起動しません。レポート機能を利用する場合は 1 以上の値を設定する必要があります。今回は 1 つのプロセスを起動することにします。WebServiceURL には http://localhost:10053/report を指定します。
StartReportWriters=1 WebServiceURL=http://localhost:10053/report
サービス zabbix-server を再起動します。
# systemctl restart zabbix-server
MIRACLE ZBX Web フロントエンドの設定の更新
Web フロントエンドで定期レポート機能を利用するための設定を追加します。
Web フロントエンドへアクセスし、「管理」->「一般設定」->「その他」を開きます。 Web インターフェース URL に http://localhost/zabbix を指定します。
定期レポートの内容・送信先・スケジュールの追加
MIRACLE ZBX Web フロントエンドの「管理」->「メディアタイプ」からメディアタイプを作成します。定期レポートの配信を行うには、ユーザーに「メール」タイプのメディアを設定する必要があります。ここではメール受信に必要な設定を追加します。
「管理」->「ユーザー」からユーザーに対しメディアを設定します。ここではインストール時からデフォルトで存在する Admin ユーザーのメディアを更新しています。前手順で追加したメディアタイプを以下画像内の「タイプ」で選択します。
定期レポートの設定をします。「レポート」->「定期レポート」を開いて、右上にある「定期レポートの作成」を押下すると以下画像のようなページが表示されます。
今回はテスト用に予め作成しておいたダッシュボード「定期レポート用」を PDF として受け取るための設定を追加します。
パラメーター | 設定例 | 説明 |
---|---|---|
所有者 | Admin | レポートを作成するユーザー。このフィールドはユーザーの役割が Super Admin role のユーザーのみ変更可能です。 |
名前 | 定期レポートテスト | レポートの名前。一意である必要があります。 |
ダッシュボード | 定期レポート用 | 定期レポートで PDF として送信されるダッシュボード。一つまで選択できます。 |
期間 | 前日 | レポート内にどの期間からの情報を表示するか選択できます。 |
周期 | 毎日 | レポートの配信頻度。 |
開始時刻 | (任意の時間) | レポートの配信が開始される時刻。 |
終了日付 | (任意の日付) | レポート配信を停止する日付。 |
件名 | (任意の内容) | レポートメールの件名。{TIME} マクロが利用できます。 |
メッセージ | (任意の内容) | レポートメールの件名。{TIME} マクロが利用できます。 |
配信先 | Admin | レポートの受信者のリスト。 メールのメディアが設定されているユーザーまたはユーザーグループを設定できます。ユーザーグループに含まれるユーザーを追加し、ステータスを「含めない」に設定した場合メールは送信されません。ステータスが「含める」のユーザーが一人以上設定されている必要があります。 |
説明 | (任意の内容) | このレポートの説明。フィールドの内容はメールの内容に含まれません。 |
有効 | チェック | レポートの有効化。 |
「テスト」ボタンでレポートの送信テストが実施できます。このテストでは、上記表中のスケジュールに関するパラメーター「周期」や「開始時刻」「開始日付」「終了時刻」の設定内容に関係無く、「テスト」ボタンを押した後、設定した配信先へ PDF が添付されたメールが送信されます。
今回用意したダッシュボード「定期レポート用」は Web フロントエンドで以下のように表示されます。
ダッシュボードをもとに配信先では以下のような PDF が受信できました。なお、上のスクリーンショットと以下の PDF ではグラフ横軸のスケールが異なります。今回は、定期レポートの設定「期日」を " 前日 " にしているため、定期レポートとして送付された PDF のグラフには前日の値の変動が描画されています。
受信したレポートの内容に問題が無ければ、「追加」ボタンを押します。
以上で定期レポートの設定は完了です。
まとめ
本記事では、Zabbix 5.4、および MIRACLE ZBX 6.0 から追加された定期レポート機能の設定方法について紹介しました。本機能を活用することで外部環境から Web フロントエンドにアクセス出来ない場合でも、監視対象の状況を確認できます。監視対象ごとに配信用のダッシュボードを作成し、普段は Web フロントエンドにアクセスすることのないステークホルダーに対し定期的にシステムの状況を配信することも可能です。