※本手順書ではメールプロバイダとしてGmailを利用しています。
1. 左サイドメニューの「監視データ」を選択し、「ホスト」をクリックします。画面右の「ホストの作成」をクリックします。
※Zabbixにおけるホストとは、監視対象のデバイス(サーバ、ワークステーション、スイッチなど)のことを指します。詳細は以下を参照ください。
https://www.zabbix.com/documentation/6.0/jp/manual/config/hosts
2. 「ホストグループ」に「Zabbix servers」を追加します。「インターフェース」に「エージェント」を追加します。「ホスト名」、「IPアドレス」に任意の値を設定します。画面右下の「追加」をクリックします。
ホスト名:監視対象のログファイルが存在するサーバーにインストールされているZabbixエージェントの設定ファイル(zabbix_agentd.conf)のHostnameで設定されている値を指定します。
表示名:表示用に使う名称を設定できます。
ホストグループ:ホストが所属するグループ。最低1つのグループに所属する必要があります。
IPアドレス:監視対象のログファイルが存在するサーバーのIPアドレスを指定します。本手順書ではローカルのサーバーを監視対象としているため「127.0.0.1」を指定しています。外部のサーバーのIPアドレスを指定する場合はファイアウォール等の設定を調整して、Zabbixサーバーと通信ができる状態にしてください。
ポート番号:監視対象のログファイルが存在するサーバーにインストールされているZabbixエージェントの設定ファイル(zabbix_agentd.conf)のListenPortで設定されている値を指定します。ListenPortの設定がない場合はデフォルト値の10050を設定します。
3. ホスト追加の完了メッセージが表示されていることを確認します。
4. 左サイドメニューの「監視データ」を選択し、「ホスト」をクリックします。「エージェントの状態」の「ZBX」が緑色に表示されていることを確認します。「ZBX」クリックすると「ステータス」が「利用可能」になっていることも確認します。
※ホストとは、監視対象のデバイス(サーバー、ワークステーション、スイッチなど)のことを指します。
1. 左サイドメニューの「データ収集」を選択し、「ホスト」をクリックします。「1. ホストの登録」で作成したホストが一覧に表示されていることを確認します。
2. 「アイテム」をクリックします。アイテムの一覧画面が表示されることを確認します。画面右上の「アイテムの作成」をクリックします。
3. 「名前」、「監視間隔」に任意の値を設定します。「タイプ」は「Zabbix エージェント (アクティブ)」を選択します。「データ型」は「ログ」を選択します。「キー」には「log[ログのフルパス]」を入力します。画面下の「追加」をクリックします。
※本手順書では以下のログファイルを監視対象として設定しています。
/var/log/hoge/app.log
名前:表示用に使う名称を設定します。本手順書では「web app log」を設定しています。
タイプ:ホストからデータを取得するための方法を設定します。ログファイルを監視する場合は必ず「Zabbix エージェント (アクティブ)」を選択します。詳細はこちらを参照ください。
キー: 監視対象を設定します。疎通結果であればpingコマンド等を記載します。ログファイル「/var/log/hoge/app.log」の内容を監視したい場合は、log[/var/log/hoge/app.log]と記載します。
データ型:キーをもとにホストから収集したデータの型を指定します。ログファイルであればログを設定します。
監視間隔(秒):キーをもとにしたホストの監視間隔を設定します。ログファイル監視の場合は、1 秒に設定するとログファイルの最新の出力内容をできるだけ早く取得することができます。
4. アイテム追加の完了メッセージが表示されていることを確認します。
※本手順書では以下のログファイルを監視対象としてアイテムのキーに設定しています。
/var/log/hoge/app.log
1. 左サイドメニューの「監視データ」を選択し、「最新データ」をクリックします。「名前」に前項でアイテムの名前に設定した値を入力し、「適用」をクリックします。
2. 一覧に前項で作成したアイテムが表示されます。「最新の値」にログファイルの最新行が表示されていることを確認します。
3. ログファイルの内容を更新し、Zabbixで最新の情報を取得できているかを確認します。以下のコマンドを入力し、ログファイルの内容を更新します。
$ sudo echo "update log file" >> /var/log/hoge/app.log
4. 「最新の値」に「update log file」が表示されていることを確認します。
5. 取得したログファイルの内容をすべて表示するには画面右の「ヒストリ」をクリックします。
6. ログファイルの内容がすべて表示されていることを確認します。
1. 左サイドメニューの「データ収集」を選択し、「ホスト」をクリックします。「1. ホストの登録」で作成したホストが一覧に表示されていることを確認します。「トリガー」をクリックします。
2. 画面右上の「トリガーの作成」をクリックします。
3. 「名前」、「深刻度」、「説明」に任意の値を設定します。「正常イベントの作成」に「なし」を選択します。「障害イベント生成モード」に「単一」を選択します。「手動クローズを許可」、「有効」にチェックをつけます。「条件式」の「追加」をクリックします。
名前:表示用に使う名称を設定します。本手順書では「web app log error」を設定しています。
深刻度:障害の度合いを設定します。
条件式: ホストから収集したデータに問題があるかどうかを評価するために定義する論理式。条件式の評価結果がTRUEと評価された場合は障害と判断します。条件式の詳細はこちらを参照ください。
正常イベントの生成:障害の復旧を検知する条件を設定します。本手順書では障害の復旧は手動で行うため「なし」を設定しています。
手動クローズの許可:障害の復旧を手動で行うことを許可するか設定します。本手順書では障害の復旧は手動で行うためチェックをつけています。
4. 「アイテム」の「選択」をクリックし、「3. アイテムの設定」で作成したアイテムをクリックします。「関数」に「find()」を選択します。「V」に「error」を入力します。「結果」に「=」、「1」を設定し、「挿入」をクリックします。
アイテム:監視対象のアイテムを指定します。
関数:ホストから収集したデータを評価するために実行する関数を設定します。本手順書ではログファイルに「error」という文字列が存在するかどうかを判定するため「find()」を設定しています。
V:関数に渡す引数を設定します。関数に「find()」を設定してる場合は検知する文字列を設定します。本手順書ではログファイルに出力された「error」を検知したいため、「error」を設定しています。
結果:関数の評価結果と比較する値を設定します。「find()」関数は評価結果に「1」(合致)または「0」(合致しない)を返すため、比較する値として「1」を設定しています。
5. 「条件式」に値が挿入されていることを確認します。
6. 画面下の「追加」をクリックします。
7. トリガー追加の完了メッセージが表示されていることを確認します。
1. 左サイドメニューの「データ収集」を選択し、「ホスト」をクリックします。「1. ホストの登録」で作成したホストが一覧に表示されていることを確認します。「トリガー」をクリックします。
2. 「名前」に前項で作成したトリガーの名前を入力し、「適用」をクリックします。
3. 前項で作成したトリガーが表示され、「値」が「正常」となっていることを確認します。
4. 以下のコマンドを入力し、ログファイルに「error」を書き込みます。
$ sudo echo "error" >> /var/log/hoge/app.log
5. 画面をリロード(F5など)し、トリガーの「値」が「障害」となっていることを確認します。
6. 左サイドメニューの「監視データ」を選択し、「障害」をクリックします。一覧に障害が表示されていることを確認します。
1. 左サイドメニューの「監視データ」を選択し、「障害」をクリックします。一覧に障害が表示されていることを確認します。画面右下の「更新」をクリックします。
2. 「メッセージ」に任意の値を入力します。「障害のクローズ」にチェックをつけ、「更新」をクリックします。
3. 「ステータス」が「解決済」になっていることを確認します。
※本手順書ではメールプロバイダとしてGmailを利用します。
1. 左サイドメニューの「通知」を選択し、「メディアタイプ」をクリックします。画面右上の「メディアタイプの作成」をクリックします。
2. 「名前」、「説明」に任意の値を入力します。「タイプ」に「メール」、「メールプロバイダ」に「Gmail」を選択します。「メール」に送信元として使用したいGmailアドレスを入力します。「パスワード」にアプリパスワードを入力し、「追加」をクリックします。
※アプリパスワードの生成方法は以下を参照ください。
https://support.google.com/accounts/answer/185833
※従来はgoogleアカウントのセキュリティ設定より「安全性の低いアプリのアクセス」を「オン」にすることで、googleアカウントのパスワードを用いてログイン認証を行うことができましたが、2022年6月より「安全性の低いアプリのアクセス」機能が利用できなくなりました。
そのため、googleアカウントのパスワードを指定した場合ログイン認証に失敗するようになり、メールを送信することができなくなくなりました。代替案として生成したアプリパスワードをパスワードに指定することでログイン認証に成功し、メールを送信することができます。詳細に関しては以下を参照ください。
https://support.zabbix.com/browse/ZBX-21187
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/415786-not-being-aboe-to-use-smtp-gmail-com-within-zabbix
3. メディアタイプ追加の完了メッセージが表示されていることを確認します。
4. 追加したメディアタイプの「テスト」をクリックします。
5. 「送信先」に任意のメールアドレスを入力します。「件名」、「メッセージ」に任意の値を入力し、「テスト」をクリックします。
6. 「メディアタイプのテストに成功しました。」が表示されていることを確認します。
7. 「送信先」に設定したメールアドレス宛にメールが送信されていることを確認します。送信元は先ほど作成したメディアタイプの「メール」で指定したメールアドレスが表示されていることも確認します。
1. 左サイドメニューの「通知」を選択し、「メディアタイプ」をクリックします。「名前」に前項で作成したメディアタイプの名前を入力し、「適用」をクリックします。一覧に表示されているメディアタイプの名前(gmail for app error notification)をクリックします。
2. タブの「メッセージテンプレート」を選択し、「追加」をクリックします。
3. 「メッセージタイプ」に「障害」を選択します。「件名」、「メッセージ」に任意の値を入力し、「追加」をクリックします。
※本手順書では「件名」、「メッセージ」はデフォルト値のままで設定しています。
4. 一覧に追加されていることを確認します。「更新」をクリックします。
5. メディアタイプ更新完了メッセージが表示されていることを確認します。
1. 左サイドメニューの「ユーザー」を選択し、「ユーザー」をクリックします。「ユーザー名」の「Admin」をクリックします。
2. タブの「メディア」を選択し、「追加」をクリックします。
3. 「タイプ」に「8. 送信元メールアドレスの追加」で作成したメディアタイプの名前を選択します。「送信先」に障害発生時の通知先となるメールアドレスを入力し、「追加」をクリックします。
4. 一覧に追加されていることを確認します。「更新」をクリックします。
5. ユーザー更新完了メッセージが表示されていることを確認します。
1. 左サイドメニューの「通知」の「アクション」を選択し、「トリガーアクション」をクリックします。画面右上の「アクションの作成」をクリックします。
2. 「名前」に任意の値を入力し、「実行条件」の「追加」をクリックします。
3. 「タイプ」に「トリガー」、「オペレータ」に「等しい」、「トリガー発生元」に「ホスト」を選択します。「トリガー」の「選択」をクリックします。
4. 「5. トリガーの設定」で作成したトリガーにチェックをつけて「選択」をクリックします。
5. 「追加」をクリックします。
6. 「実行条件」に追加されていることを確認します。
7. タブの「実行内容」を選択します。「実行内容」欄の「追加」をクリックします。
8. 「ユーザーに送信」に「Admin」を追加します。「次のメディアのみ使用」に「8. 送信元メールアドレスの追加」で作成したメディアタイプの名前を設定し、「実行条件」の「追加」をクリックします。
9. 「タイプ」に「障害確認のステータス」、「オペレータ」に「等しい」、「確認済」に「はい」を選択し、「追加」をクリックします。
※実行条件をもう1つ追加します。「実行条件」の「追加」をクリックし、「タイプ」に「障害確認のステータス」、「オペレータ」に「等しい」、「確認済」に「いいえ」を選択し、「追加」をクリックします。
10. 「計算のタイプ」に「And/Or」を選択します。画面右下の「追加」をクリックします。
11. 「実行内容」欄に追加されていることを確認します。画面右下の「追加」をクリックします。
12. アクション追加の完了メッセージが表示されていることを確認します。
1. 以下のコマンドを入力し、ログファイルに「error」を書き込みます。
$ sudo echo "error" >> /var/log/hoge/app.log
2. 左サイドメニューの「監視データ」を選択し、「障害」をクリックします。一覧に障害が表示されていることを確認します。画面右端の「アクション」列に表示されているアイコンをクリックします。
3. 「ステータス」が「送信済」になっていることを確認します。
4. 「10. 送信先メールアドレスの追加」で設定した通知先のメールアドレス宛にメールが送信されていることを確認します。送信元は「8. 送信元メールアドレスの追加」で作成したメディアタイプの「メール」で指定したメールアドレスが表示されていることも確認します。
以上で全ての手順は完了になります