Azure Data Factoryを監視する様々な方法。。。
久しぶりに記事を更新します。。。
Azure Data Factoryについて記載したいと思います。
Azure Data Factoryはご存知のかたも多いかと思いますが。ハイブリッドデータ統合サービスになります。
この単語だけ聞いてもよくわからないかと思いますが、端的に言うと様々なデータソースから、いろんなAzureサービスへのデータ連携のパイプラインが簡単に作れます!
下図のように、ブラウザをUIとしてドラッグ&ペーストでパイプラインを作成していきます。
詳しくは、公式サイトで確認いただく方が良いと思います。
サブスクリプションを持っている人は、パイプラインを動かした時だけ課金が発生するので、一度作成いただいてUIなどを体験するのが一番早いと思います。
さて本題に入りますが、Azure Data Factoryの監視はどのようにされているでしょうか。方法としては、4種類考えられます。
- Azure Monitor (New)
- Azure PowerShellを利用
- Log Analytics
- Event Hub
1.Azure Monitorの利用
最近AzureでもUpdateがあり、Azure Monitorで監視できるようになったよ!とのことです。前からできたような。。。設定はできたけど、利用はできなかったのかな?
この記事によると、Azure Monitorのメトリックアラートを設定可能になったよとのこと。つまりEmailやWebhookなどでパイプラインやアクティビティのエラーを通知可能ということです。(細かい設定については、上記URLから参照いただければと思います)
Azure Data Factoryのメトリックについては以下が存在します。
以下のメトリックを、トリガーにAzure Monitorで通知が可能です。
メトリック |
メトリックの表示名 |
単位 |
集計の種類 |
説明 |
PipelineSucceededRun |
成功したパイプライン実行回数のメトリック |
Count |
合計 |
分の枠内で成功したパイプライン実行の合計回数 |
PipelineFailedRuns |
失敗したパイプライン実行回数のメトリック |
Count |
合計 |
分の枠内で失敗したパイプライン実行の合計回数 |
ActivitySucceededRuns |
成功したアクティビティ実行回数のメトリック |
Count |
合計 |
分の枠内で成功したアクティビティ実行の合計回数 |
ActivityFailedRuns |
失敗したアクティビティ実行回数のメトリック |
Count |
合計 |
分の枠内で失敗したアクティビティ実行の合計回数 |
TriggerSucceededRuns |
成功したトリガー実行の回数メトリック |
Count |
合計 |
分の枠内で成功したトリガー実行の合計回数 |
TriggerFailedRuns |
失敗したトリガー実行の回数メトリック |
Count |
合計 |
分の枠内で失敗したトリガー実行の合計回数 |
2.Azure PowerShellの利用
PowerShellには、Azure Data Factory用のモジュールが用意されております。
以下のモジュールを利用して、Azure Data Factoryの情報を取得することが可能です。
リファレンスを見ていただくと、わかるように取得する期間を利用可能です。
そのため、定期的にシェルなどを実行しパイプラインの情報を取得することが可能です。
3.Log Analytics
Data Factoryの診断ログ設定は、以下のように設定可能です。
各種ログをLog Analyticsに送信可能です。
送信したログを、あとはLog Analytics側で検索クエリで条件を絞りアラートをあげることが可能です。
4.Event Hub
Event Hubについても、上記の診断ログ設定にてログ送信が可能なため
Event Hubに接続可能な製品にて、ログを収集しそれを元にアラートをあげることが可能です。
以上4つの監視方法を、記載しましたがオススメは1または3になります。
特段の要件がない限り、Azure Monitorだけでアラート条件を設定可能であれば
1番の方式を。
ログから様々な条件でアラートを飛ばしたい場合は、3番の方式が良いかと思います。
なるべく、PaaSサービスを組み合わせて工数を減らして監視することが良いかと思います。以上になります。