このページでは、 Google Cloud コンソールのログ エクスプローラを使用して、Backup and DR Service のログベースのアラートを構成する方法について説明します。
ログ エクスプローラのインターフェースでは、次の手順でログベースのアラートの作成、編集が可能です。
- アラートの名前と説明を入力します。
- 通知を受け取るログを選択します。
- 通知の間隔を設定します。
- インシデントの自動クローズまでの時間を設定します。
通知先のユーザーを指定します。
ログ エクスプローラの詳細については、ログの表示と分析をご覧ください。
権限とロール
ログ エクスプローラでログベースのアラートを作成して管理するには、Identity and Access Management(IAM)ロールに、ログベースのアラートの権限で説明されている権限のセットが含まれている必要があります。
ログベースのアラートの作成
アラートを通知するには、通知チャンネルが必要です。通知チャンネルは、アラートの作成前またはアラートの作成中に作成できます。
ログベースのアラートを作成する手順は次のとおりです。
- Google Cloud コンソールで [Logging] を選択し、[ログ エクスプローラ] を選択します。
[クエリ] ペインを使用して、通知を受け取るイベントを定義します。クエリ ペインのサンプルクエリに示されているクエリの例を使用して、アラートを構成できます。
特定のイベント ID のイベントに関する通知を受け取るためのクエリの例を次に示します。
logName="projects/PROJECT_ID/logs/backupdr.googleapis.com%2Fbackup_recovery_appliance_events" jsonPayload.eventId=10046[クエリ結果] ペインの上部にある、[アラートを作成] をクリックします。ウィンドウの幅が狭すぎる場合、[アラートを作成] オプションは [その他の操作] メニューに表示されます。
[アラートの詳細] ペインで、アラートの名前と説明を入力します。
- [アラート ポリシー名] フィールドにアラートの名前を入力します。この名前は通知ヘッダーに表示されます。
- [ドキュメント] フィールドに、アラートの説明を入力します。このフィールドの内容のフォーマットと調整の詳細については、ドキュメント テンプレートでマークダウンと変数を使用するをご覧ください。ドキュメント フィールドに管理コンソールの URL を含めます。イベントを解決するための回避策を追加することもできます。
[次へ] をクリックします。
[アラートに含めるログを選択] ペインで、次の操作を行います。
- [ログをプレビュー] をクリックして、クエリと結果を確認します。必要に応じて、このペインでクエリを編集することもできます。
ラベルを追加して、通知をカスタマイズし、より有益なものにすることができます。[ラベルを追加] をクリックして、次の操作を行います。
- ラベルの表示名を入力します。
- リストから [ログ フィールド名] を選択します。これらのフィールドは、選択したクエリ結果に基づいて表示されます。
- 正規表現グループが 1 つのみ含まれているフィールドから値を抽出するには、正規表現を入力します。
[次へ] をクリックします。
通知間の最小時間を選択します。この値により、同じアラートが複数回トリガーされた場合に受信する通知の数を制御できます。たとえば、オプションから [5 分] を選択すると、通知が 5 分ごとに制限されます。必要に応じて、メニューでオプションを選択してインシデントの自動クローズ期間を調整できます。
[次へ] をクリックします。
アラートの通知チャネルを 1 つ以上選択します。たとえば、メール通知チャネルを選択します。すでにメール通知チャンネルを構成している場合は、リストから選択できます。そうでない場合は、[通知チャンネルを管理] をクリックしてメール チャンネルを追加します。通知チャンネルの作成については、通知チャンネルを作成して管理するをご覧ください。
[保存] をクリックします。
重要なイベント ID のアラートを構成することをおすすめします。
ログベースのアラートをテストする
作成したログベースのアラートをテストするには、クエリに一致するログエントリを手動で記述します。ログエントリを記述する手順は次のとおりです。
logEntries.writeリファレンス ページに移動するか、次のボタンをクリックします。次のログエントリを、PROJECT_ID 変数はプロジェクト ID に変更して構成します。アラート ポリシーに特定のイベント ID が含まれている場合や除外されている場合は、イベント ID も変更する必要があります。
"entries": [ { "jsonPayload": { "eventId": 10046, "errorMessage": "this is a manually generated error message created for testing" }, "resource": { "type": "backupdr.googleapis.com/BackupRecoveryAppliance", }, "severity": "ERROR", "logName": "projects/PROJECT_ID/logs/backupdr.googleapis.com%2Fbackup_recovery_appliance_events", } ]構成したログエントリをコピーします。
[この API を試す] ペインで、次の操作を行います。
- APIs Explorer の [リクエスト本文] フィールドの内容を、前の手順でコピーしたログエントリに置き換えます。
- [実行] をクリックします。入力を求めるメッセージが表示されたら、認証フローに従います。
logEntries.write 呼び出しが成功すると、HTTP 200 レスポンス コードと空のレスポンス本文 {} が返されます。API Explorer の詳細については、API Explorer の使用をご覧ください。API Explorer の動作は Cloud Logging API と同じです。
ログエントリは、次の方法でアラートに指定されたフィルタと一致します。
- logName 値は、Cloud プロジェクトのバックアップ/リカバリ アプライアンス イベントのログインを指定します。
- このログエントリの重大度値は ERROR です。
- jsonPayload には 10046 プール満杯イベントが含まれています。
ログエントリを書き込むと、次のシーケンスが発生します。
- 新しいログエントリがログ エクスプローラに表示され、アラートがトリガーされます。
- インシデントが Cloud Monitoring で開かれます。
- インシデントの通知が届きます。メール通知チャネルを構成した場合、通知が表示されます。
メール内の [インシデントを表示] をクリックすると、Cloud Monitoring でインシデントを確認できます。インシデントの詳細(インシデントの確認とクローズの方法など)については、ログベースのアラートのインシデントを管理するをご覧ください。
複数のアラート ポリシーを作成する
イベントの優先度と緊急度に基づいてアラート ポリシーを作成することをおすすめします。アラートの観点から見ると、イベントは次のカテゴリに大まかに分類できます。
緊急の参加が必要なため、通知の頻度を高くする必要があるイベント。たとえば、イベント ID 43901(スナップショット ジョブの失敗)は 30 分ごとに報告する必要があります。次のクエリを使用してアラートを作成します。
Policyname = 'Snapshot job has failed' Notification rate limit = 30 min logName="projects/PROJECT_ID/logs/backupdr.googleapis.com%2Fbackup_recovery_appliance_events" AND jsonPayload.eventId=43901緊急度が低く、通知の頻度を低くする必要があるイベント。 たとえば、イベント ID 10085(バックアップ プラン違反)は 1 日に 1 回のみ報告する必要があります。次のクエリを使用してアラートを作成します。
Policyname = 'Backup Plan Violation has occurred' Notification rate limit = 1 day logName="projects/PROJECT_ID/logs/backupdr.googleapis.com%2Fbackup_recovery_appliance_events" AND jsonPayload.eventId=10085影響がなく、無視できるイベント。たとえば、イベント ID 10229(ストレージ エラー超過)と 42356(ファイル変更が検出されました)は、誤検出であるため無視できます。次のクエリを使用してアラートを作成します。
Policyname = 'Backup/DR event has occurred' Notification rate limit = 6 hr logName="projects/PROJECT_ID/logs/backupdr.googleapis.com%2Fbackup_recovery_appliance_events" AND NOT jsonPayload.eventId=(10085 OR 10229 OR 42356 OR 43901)