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

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

Recovery Services コンテナーでのバックアップジョブのログ確認や監視について整理してみました。

仮想マシン(Azure VM)等のシステムバックアップは(Azure Backup)Recovery Services コンテナーに取得されます。
バックアップジョブ結果はAzure Portalや診断設定を通してログ出力も出来ます。
Azure Monitor使うとバックアップジョブ結果を監視出来ます。

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

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

診断設定を使ったバックアップジョブログの収集からAzure Monitorでの監視設定等に纏めてみました。

スポンサーリンク

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を使ったバックアップジョブの監視設定

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)としています。

これでアラートルールの設定は完了です。
確認、作成します。

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

アラートルールのカスタムログ検索を使うとバックアップジョブの監視設定が出来ます。
診断設定でLog Analyticsワークスペースへバックアップジョブ(AddonAzureBackupJobs)のログ転送しておく必要があります。
今回はバックアップジョブが成功した場合にアラートメールを送信する設定にしています。

アラートルール作成手順
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には仮想マシン(Azure VM)名が記載されています。

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

アラートが発生した場合に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内に仮想マシン(Azure VM)名が記載されています。

最後に

今回はRecovery Servicesコンテナーの監視やログ確認と言ったバックアップジョブ管理に関して整理してみました。
Backup Health Eventsのメトリクスを使うとAzure Monitorの設定も簡単に出来る事が分かりました。
今後も色々試してみたいと思います。

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

Azureバックアップセンターについてはこちら。

スポンサーリンク