Recovery Servicesコンテナーでバックアップジョブ監視設定

2020-08-05Azure,Bcakup(Recovery Services),Monitor

Recovery Services コンテナーのバックアップジョブのログ確認および監視方法です。

Azure Backupを利用することで、仮想マシン(Azure VM)などのシステムバックアップを取得できます。
取得したバックアップデータは、Recovery Services コンテナーに保管されます。
バックアップジョブの結果は、Recovery Services コンテナーの診断設定を通じてログとして出力することができます。
この出力されたログを利用し、Azure Monitorでバックアップジョブの結果を監視できます。

バックアップジョブ実行結果の監視方法には主に2つがあります。

    • バックアップジョブのログをAzure Monitorログ(Log Analyticsワークスペース)へ転送し監視
    • Backup Health Eventsのメトリックを利用して監視

診断設定によるバックアップジョブのログ収集設定から、Azure Monitorでの監視設定までの手順を確認しています。

スポンサーリンク

Recovery Servicesコンテナーの診断設定、ログ確認、メトリックまで

Recovery Servicesコンテナーの診断設定

Recovery Services コンテナーの診断設定を利用することで、バックアップジョブのログをLog Analyticsワークスペースへ転送できます。
診断設定で取得できるログの詳細については、こちらをご参照ください。

Azure Backup 診断イベントのデータ モデル

ターゲットテーブルの設定に関する詳細については、こちらに記載されています。
リソース固有のテーブルを使用することが推奨されています。

Azure Backup ユーザーが利用できる診断イベント

診断設定手順
Recovery Services コンテナーに診断設定を追加します。
診断設定の名前を設定します。
今回はdiag-rsc-test-01としています。

転送対象のログを選択します。
バックアップジョブに関するカテゴリは、CoreAzureBackup、AddonAzureBackupJobs、AddonAzureBackupAlertsです。
転送先のLog Analyticsワークスペースを選択し、保存します。

※ターゲットテーブルは、リソース固有を選択することが推奨されています。

レガシ イベント

保存が完了すると、診断設定が追加されたことを確認できます。

バックアップジョブのログ検索

診断設定を利用してLog Analyticsワークスペースへログを送信すると、バックアップジョブの実行結果を検索できます。
バックアップジョブに対応するテーブルはAddonAzureBackupJobsです。

ログ確認

Recovery Services コンテナーのログから、以下のKQLクエリを実行して確認します。
AddonAzureBackupJobsがバックアップジョブのログテーブルです。
各フィールドの詳細については、こちらをご参照ください。

AddonAzureBackupJobs

AddonAzureBackupJobs
| project TimeGenerated, JobStartDateTime, AdHocOrScheduledJob, JobOperation, JobStatus, ProtectedContainerUniqueId
| order by TimeGenerated

検索結果にバックアップジョブのログが表示されます。

※Recovery Services コンテナーの診断設定で指定した Log Analytics ワークスペース上で、KQL クエリが実行されています。

Backup Health Eventsのメトリック

バックアップジョブの実行結果は、Backup Health Events でも確認できます。

Backup Health Eventsのメトリック

メトリックにBackup Health Eventsという項目があり、これがバックアップジョブの結果に対応します。

※実行結果の絞り込みはフィルターの追加で行えます。Health Status でHealthを選択すると、成功した件数だけを抽出できます。

—広告—

Azure Monitorを使ってRecovery Services コンテナーのバックアップジョブ監視設定

Azure Monitor でバックアップジョブの監視設定ができます。
Backup Health Eventsのメトリックを使用する方法と、カスタムログ検索を使用する方法があります。

Backup Health Eventsのメトリックを使って監視設定

Backup Health Eventsを利用して、Azure Monitor のアラートルールを設定できます。
メトリックによる監視となるため、診断設定は不要です。

Azure Backup のメトリックを使用してバックアップの正常性を監視する (プレビュー)

今回は設定確認用に、バックアップジョブが成功した場合にアラートメールを送信する設定としています。

アラートルール作成手順
Recovery Services コンテナーの警告からアラートルールの作成を選択します。
シグナルの選択画面です。
Backup Health Eventsを選択します。

アラートロジックおよびディメンションの設定画面です。
アラートロジックは値が0より大きい場合(イベントが発生した場合)としています。
ディメンションでは、Health Status = Healthyを選択しています。
これはバックアップジョブが正常終了した場合を意味します。
Backup Instance Nameを指定することで、バックアップアイテム単位で集計できるようにしています。

※失敗時のアラート設定を行う場合は、ディメンションでHealth StatusをHealthy以外に設定します。

 
アクショングループの設定は、自身の環境に合わせて設定します。
今回は、メール送信を行うアクショングループを選択しています。

アラートルールの詳細設定です。
アラートルール名や重大度を指定します。
アラートルール名はBackup job Success Alert (Healthy Event)としています。
内容を確認し、作成を選択します。

カスタムログ検索を使った監視設定

アラートルールのカスタムログ検索を利用して、バックアップジョブの監視設定が可能です。
この場合、診断設定でバックアップジョブログ(AddonAzureBackupJobs)をLog Analytics ワークスペースへ転送しておく必要があります。

今回は設定確認用に、バックアップジョブが成功した場合にアラートメールを送信する設定としています。

アラートルール作成手順
Recovery Services コンテナーの警告からアラートルールの作成を選択します。
シグナルの選択画面です。
カスタムログ検索を選択します。

ログ検索画面が表示されます。
KQLクエリを設定します。
正常終了時はJobStatusがCompletedとなります。
この状態を検知するクエリを入力します。

※失敗時を検知する場合は、JobStatus != 'Completed’とします。Completed以外の状態を検知できます。

【クエリ内容】

AddonAzureBackupJobs
| where JobOperation=="Backup"
| summarize countif(JobStatus=="Completed") by BackupItemUniqueId​

測定では、結果の集約方法を設定します。
countif_の合計値を30分間分集約する設定としています。
ディメンションにはBackupItemUniqueIdを指定し、リソース単位で集約します。
アラートロジックは、30分以内に1件でも検知した場合にアラートが発生するよう設定しています。
アクショングループの設定は、自身の環境に合わせて設定します。
今回は、メール送信を行うアクショングループを選択しています。

アラートルールの詳細設定です。
アラートルール名や重大度を指定します。
アラートルール名はBackup job Success Alertとしています。
内容を確認し、作成を選択します。

作成したアラートルールを確認

作成したアラートルールを確認します。

アラートルール確認
2件のアラートルールが確認できます。
それぞれのシグナルの種類は、ログ検索とメトリックとなっています。

—広告—

受信したバックアップジョブのアラートメールを確認

受信したアラートメールを確認します。
設定方法によって、アラートメールの本文は異なります。

Backup Health Eventsでアラートルールを作成した場合

アラートが発生した場合、Your Azure Monitor alert was triggeredというメールを受信します。
件名(Subject)には、アラートルール作成時に設定したアラートルール名が記載されています。

※通常時(次の検知タイミングでジョブが実行されていない場合)は、Your Azure Monitor alert was resolvedというメールを受信し、ステータスが解決済みとなります。
※検証のため、バックアップジョブが成功した場合のメールで確認しています。失敗した条件でアラートルールを設定した場合も、同様の形式でメールを受信します。

アラートメール
Subjectには、Azure: Activated Severity: 3 Backup job Success Alert (Healthy Event)と記載されています。
Alert Activated Becauseには、アラートの発生理由が記載されています。
メトリックや発生したリソース、状態など、アラートルールで設定した内容も記載されています。
backupinstanceNameには、該当する仮想マシン名が記載されます。

カスタムログ検索を使ってアラートルールを作成した場合

アラートが発生した場合、Fired: Sev3 Azure Monitor Alert Backup job Success Alert on Recovery Services コンテナー名 (microsoft.recoveryservices/vaults) at 日時というメールを受信します。

※通常時(次の検知タイミングでジョブが実行されていない場合)にはメールは受信しません。ステータスは起動済みのままとなります。
※検証のため、バックアップジョブが成功した場合のメールで確認しています。失敗した条件でアラートルールを設定した場合も、同様の形式でメールを受信します。

アラートメール
SubjectにはFired: Sev3 Azure Monitor Alert Backup job Success Alert on rsc-test-01 (microsoft.recoveryservices/vaults) at DD/MM/YYYY hh:mm:ssと記載されています。
Search queryには、設定したクエリが記載されています。
Dimensions内には、仮想マシン名が記載されています。

最後に

今回は、Recovery Services コンテナーの監視やログの確認といったバックアップジョブ管理について整理しました。
Backup Health Events のメトリックを利用することで、Azure Monitor の設定も簡単に行えることが分かりました。

引き続き、いろいろ試してみたいと思います。

Azure Logic Appを使ってバックアップの実行結果通知も試してみました。

スポンサーリンク