エラーの処理と障害からのリカバリ

データフローの監査

Objective

After completing this lesson, you will be able to データフローの監査

監査

ソース、トランスフォーム、ターゲットなどの Data Services オブジェクトから流出するデータの統計を収集できます。

これらの統計は、データフローが意図したとおりに実行されたかどうかを判断するのに役立ちます。

監査によって何か問題があることを知ることができますが、何が起こったかを把握するために調査する必要があります。これは、前の例のようにソースデータに誤りがあるか、トランスフォーム設定にないか、ロードプロセスに問題がある可能性があります。

監査の設定

監査を使用するには、次の手順に従います。

  • 監査ポイントの定義: 監査ポイントでは、オブジェクトからフローされるデータに関する実行時間統計が収集および保存されます。
  • ルールの定義: 実行時統計を使用して、データフローの特定のポイントにあるデータが想定どおりであることを確認するルールを定義します。データフローでデータが以下の移動に達すると、検証が行われます。
    • ソースから抽出されました。
    • トランスフォームによって処理されます。
    • ターゲットにロードされました。
  • 実行時通知の生成: 通知には、失敗した監査ルールの一覧と、失敗時の監査統計の値が含まれます。
  • 監査統計の表示: ジョブの実行後、監査統計によって、不正なデータを生成したデータフロー内のオブジェクトが特定されます。

監査ポイントおよびラベル

監査ポイントは、統計が収集されるデータフロー内のオブジェクトを表します。データフロー内のソース、トランスフォーム、またはターゲットを監査します。

データフロー内のオブジェクトに対して監査ポイントが定義されている場合は、監査関数を指定します。監査関数は、Data Services がテーブル、出力スキーマ、または列に対して収集する監査統計を表します。

使用可能な監査機能は、監査ポイントタイプによって異なります。

監査機能

以下の監査機能から選択します。

データオブジェクト関数内容説明
テーブルまたは出力スキーマ件数この機能では、以下の 2 つの統計が収集されます。
  • 正常に処理された行の数
  • エラー処理を有効にした場合、ある種のエラーを生成した行のエラー数

この関数のデータ型は integer です。

カラムテーブル合計列の数値の合計。この関数には、良好な行のみが含まれます。この関数は、データ型が integerdecimaldoublereal のカラムに適用されます。
カラムテーブル平均列内の数値の平均。この関数には、良好な行のみが含まれます。この関数は、データ型が integerdecimaldoublereal のカラムに適用されます。
カラムテーブルチェックサムChecksum 値を使用して、列の値のエラーを検出します。この関数は、データ型が varchar のカラムにのみ適用されます。

監査ラベルは、Data Services で監査統計用に生成されるデータフローの一意の名前を表します。監査ラベルは、監査ポイントごとに定義された監査機能ごとに収集されます。

監査ラベル

監査ポイントがテーブルまたは出力スキーマ上にある場合、監査カウント関数に対して次の 2 つのラベルが生成されます。

$Count_objectname

$CountError_objectname

監査ポイントが列にある場合、監査ラベルは以下の書式で生成されます。

$auditfunction_objectname

注記

監査ポイントが定義されているオブジェクトが削除または名前変更されると、監査ラベルが無効になる可能性があります。無効なラベルは、ラベルタブに個別のノードとして一覧表示されます。この問題を解決するには、ラベルを再作成し、無効な項目を削除します。

監査ルールおよびアクションの定義

あるオブジェクトの監査統計を別のオブジェクトと比較する場合は、監査ルールを使用します。たとえば、監査ルールを使用して、ソーステーブルの行数がターゲットテーブルの行と等しいことを確認します。

監査ルールは、左辺 (LHS)、ブール演算子、および右側 (RHS) で構成される論理式です。LHS は、単一の監査ラベル、1 つまたは複数の数学演算子を含む式を形成する複数の監査ラベル、または監査ラベルをパラメータとする関数にすることができます。LHSに加えて、RHSも定数になることができる。

監査ルールの例

  • $Count_CUSTOMER = $Count_CUSTDW
  • $Sum_ORDER_US + $Sum_ORDER_EUROPE = $Sum_ORDER_DW
  • round($Avg_ORDER_TOTAL) 10000 以上

監査アクション

監査失敗の通知用に一覧表示されたアクションの任意の組合せを選択します。

  • リストへの電子メール: Data Services は、監査ルールが失敗した通知を、このオプションにリストされている電子メールアドレスに送信します。メールアドレスのリストをカンマで区切るか、メーリングリストの変数を指定します。
  • スクリプト: Data Services では、このオプションで作成したカスタムスクリプトが実行されます。
  • 例外発生: 監査ルールが失敗すると、エラーログに失敗したルールが表示されます。ジョブは、失敗した最初の監査ルールで停止します。

    このアクションがデフォルトです。アクションがクリアされ、監査ルールが失敗した場合、ジョブは正常に完了し、監査によってメッセージはジョブログに書き込まれません。

3 つのアクションがすべて選択されている場合、Data Services ではそれらのアクションが表示されている順序で実行されます。

注記

リストへの電子メールオプションでは、smtp_to 機能を使用して電子メールが送信されます。Data Services サーバマネージャで、Simple Mail Tool Protocol (SMTP) のサーバと送信者を定義します。

監査ステータス

監査ステータスは、以下のいずれかの場所で表示することができます。

失敗時のアクション監査情報を表示できる場所
例外を発生ジョブエラーログ、メタデータレポート
リストに電子メール電子メールメッセージ、メタデータレポート
スクリプトカスタムスクリプトによって監査メッセージが送信される場合は常に、メタデータレポート

トレース監査

監査は、[ジョブ実行のプロパティ] ダイアログボックスで有効または無効にできます。

監査の結果をログに表示するには、ジョブ実行プロパティダイアログボックスで監査データをトレースはいに設定します。

試してみる

ここでは、監査機能の使用について説明します。