ぽんぬふ

Azureを中心に気になったサービス等を気まぐれに発信していきます

Azure Data Factoryを監視する様々な方法。。。

久しぶりに記事を更新します。。。

Azure Data Factoryについて記載したいと思います。

Azure Data Factoryはご存知のかたも多いかと思いますが。ハイブリッドデータ統合サービスになります。

この単語だけ聞いてもよくわからないかと思いますが、端的に言うと様々なデータソースから、いろんなAzureサービスへのデータ連携のパイプラインが簡単に作れます!

下図のように、ブラウザをUIとしてドラッグ&ペーストでパイプラインを作成していきます。

f:id:IT_RookieMan:20190304225424p:plain

 

詳しくは、公式サイトで確認いただく方が良いと思います。

 

サブスクリプションを持っている人は、パイプラインを動かした時だけ課金が発生するので、一度作成いただいてUIなどを体験するのが一番早いと思います。

 

 

さて本題に入りますが、Azure Data Factoryの監視はどのようにされているでしょうか。方法としては、4種類考えられます。

  1. Azure Monitor (New)
  2. Azure PowerShellを利用
  3. Log Analytics
  4. Event Hub
1.Azure Monitorの利用

最近AzureでもUpdateがあり、Azure Monitorで監視できるようになったよ!とのことです。前からできたような。。。設定はできたけど、利用はできなかったのかな?

azure.microsoft.com

この記事によると、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の情報を取得することが可能です。

docs.microsoft.com

リファレンスを見ていただくと、わかるように取得する期間を利用可能です。

そのため、定期的にシェルなどを実行しパイプラインの情報を取得することが可能です。

3.Log Analytics

Data Factoryの診断ログ設定は、以下のように設定可能です。

f:id:IT_RookieMan:20190414223355p:plain

Azure Data Factory Diagnostics settings

各種ログをLog Analyticsに送信可能です。

送信したログを、あとはLog Analytics側で検索クエリで条件を絞りアラートをあげることが可能です。

4.Event Hub

Event Hubについても、上記の診断ログ設定にてログ送信が可能なため

Event Hubに接続可能な製品にて、ログを収集しそれを元にアラートをあげることが可能です。

 

以上4つの監視方法を、記載しましたがオススメは1または3になります。

特段の要件がない限り、Azure Monitorだけでアラート条件を設定可能であれば

1番の方式を。

ログから様々な条件でアラートを飛ばしたい場合は、3番の方式が良いかと思います。

 

なるべく、PaaSサービスを組み合わせて工数を減らして監視することが良いかと思います。以上になります。