すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:データ変換ジョブの監視 (新バージョン)

最終更新日:Aug 27, 2024

このトピックでは、データ変換ジョブのメトリックと、データ変換ダッシュボードを表示してジョブモニタリングを構成する方法について説明します。

メトリックデータ

データ変換ジョブのメトリックデータを表示するには、まずサービスログ機能を有効にし、ログタイプとしてジョブ操作ログを選択する必要があります。 詳細については、「サービスログ機能の使用」をご参照ください。

ダッシュボード

データ変換ジョブを作成すると、Simple Log Serviceはジョブの詳細ページにジョブのダッシュボードを作成します。 ダッシュボードでジョブのメトリックを表示できます。

手順

  1. Simple Log Serviceコンソール.

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    image

  3. 左側のナビゲーションウィンドウで、[ジョブ管理] > [データ変換] を選択します。

  4. 管理するデータ変換ジョブをクリックします。 次に、[実行ステータス] セクションのダッシュボードを表示します。

全体的なメトリックス

全体的なメトリックは次のとおりです。

  • Transforming Speed (events/s): 1秒あたりのイベント単位の変換速度。 デフォルトの統計ウィンドウは1時間です。

    • ingest: ソースLogstoreの各シャードから読み取られたデータレコードの数。

    • delivery: 宛先Logstoreに正常に書き込まれたデータレコードの数。

    • failed: ソースLogstoreの各シャードから読み取られたが変換に失敗したデータレコードの数。

  • 合計イベントの読み取り数: ソースLogstoreの各シャードから読み取られたデータレコードの合計数。 デフォルトの統計ウィンドウは1日です。

  • 配信されたイベントの合計: すべての宛先ログストアに書き込まれたデータレコードの合計数。 デフォルトの統計ウィンドウは1日です。

  • 失敗したイベントの合計: ソースの各シャードから読み取られたが変換に失敗したデータレコードの合計数。 デフォルトの統計ウィンドウは1日です。

  • イベント配信比率: ソースLogstoreから読み取られたデータレコードの数に対する、ターゲットLogstoreに正常に配信されたデータレコードの数の比率。 デフォルトの統計ウィンドウは1日です。

シャード詳細分析

このセクションでは、変換ジョブがソースLogstoreからデータを読み取るときに、各シャードのメトリックを1分ごとに表示します。

  • Shard Consuming Latency (s): 各シャードに書き込まれた最後のデータレコードが受信された時刻と、シャードによって処理されているデータレコードが受信された時刻との差。 単位は秒です。

  • Shard Transforming Stats (events): アクティブなシャードに関する統計。 デフォルトの統計ウィンドウは1時間です。

    • shard: シャードのシーケンス番号。

    • ingest: シャードから読み取られた生データレコードの数。

    • failed: シャードから読み取られたが変換に失敗した生データレコードの数。

変換エラー

メッセージフィールドに基づいて、エラーの詳細を表示できます。

image

アラートモニタリングルール

データ変換 (新バージョン) ジョブは、監視対象のタスクメトリックに依存しています。 詳細については、「メトリックデータ」をご参照ください。 Simple Log Serviceのアラート機能を使用して、ジョブを監視できます。 詳細については、「アラート」をご参照ください。 このセクションでは、データ変換 (新バージョン) ジョブのアラートルールについて説明します。シャード消費レイテンシ、データ変換例外、変換トラフィック (絶対値) 、変換トラフィック (同期間比較) です。 アラートルールの作成方法の詳細については、「アラートルールの作成」をご参照ください。

重要

アラートルールを作成するには、統計的な目的で、プロジェクトの実行ログに保存されているものと同じプロジェクトとLogstoreを追加する必要があります。 ジョブの操作ログを保存する方法の詳細については、「サービスログ機能の使用」をご参照ください。

image

シャード消費レイテンシ

項目

説明

目的

このタイプのルールは、データ変換ジョブのシャードからデータが消費されるときに発生するレイテンシを監視します。 データ変換中のレイテンシがルールのしきい値を超えると、アラートがトリガーされます。

関連ダッシュボード

詳細については、「シャードの詳細分析」をご参照ください。

サンプルSQL

次のテンプレートで、{job_name} を監視するデータ変換ジョブの名前に置き換えます。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": ingest
| select
  split_part(
    "_etl_:connector_meta.task_name",
    '#',
    2
  ) as shard,
  max_by("_etl_:connector_metrics.lags", __time__) as lags
group by
  shard
having
  shard is not null
limit
  all

監視ルール

  • [トリガー条件] の場合、[クエリ結果に含まれる] に設定し、式をlags > 120に設定します。これは、レイテンシが120秒以上になったときのしきい値を意味します。

  • クエリ間隔を5分に設定します。

  • クエリ頻度を5分に設定します。

説明

これらの設定に基づいてルールを構成し、1分間のウィンドウに基づいてメトリックが更新および処理されないようにし、データのスパイクに起因する待ち時間によって引き起こされる誤ったアラートを防ぐことをお勧めします。

処理方法

次のルールに基づいて、トリガーされたアラートをクリアできます。

  1. データ変換ジョブが新しく作成された場合は、メトリック値がしきい値を下回るかどうかを1時間確認します。 新しく作成されたジョブは、履歴データの処理に時間がかかります。 ジョブが新しく作成されていない場合は、次の手順に進みます。

  2. ソースLogstoreのデータ量が大幅に増加した場合は、ビジネス要件に基づいて次の操作を実行します。

    • Transforming Speed (events/s) が増加し、Shard Consuming Latency (s) が減少すると、ジョブは自動的にリソースをスケールアウトし、ソースLogstoreのデータ量の増加に対応します。 この場合、5分待ってから、レイテンシがしきい値を下回ったかどうかを確認します。 レイテンシがない場合は、次のステップに進みます。

    • Transforming Speed (events/s) が増加しない場合、またはShard Consuming Latency (s) が増加する場合、ソースLogstoreのシャード不足により、ジョブはリソースのスケールアウトに失敗します。 この場合、ソースLogstoreのシャードを手動で分割する必要があります。 詳細については、「シャードの分割」をご参照ください。 シャードを分割した後、5分待ってから、レイテンシがしきい値を下回るかどうかを確認します。 レイテンシがない場合は、次のステップに進みます。

  3. データ変換例外が存在する場合は、まず例外のトラブルシューティングを行います。 トラブルシューティングの後、5分待ってから、レイテンシがしきい値を下回ったかどうかを確認します。 レイテンシがない場合は、次のステップに進みます。

  4. アラートをクリアできない場合は、 テクニカルサポートのためのプロジェクト、Logstore、ジョブ情報を含むチケットを起票してください。

データ変換例外

項目

説明

目的

このタイプのルールは、データ変換ジョブの例外を監視します。 データ変換中に例外が発生すると、アラートがトリガーされます。

関連ダッシュボード

詳細については、「変換エラー」をご参照ください。

サンプルSQL

次のテンプレートで、{job_name} を監視するデータ変換ジョブの名前に置き換えます。

__topic__: etl_metrics and 
job_name: {job_name} and 
"_etl_:connector_metrics.error": *
| select
  distinct "_etl_:connector_metrics.error" as errors

監視ルール

  • [Trigger Condition] の場合、[When] を [data is returned] に設定します。

  • クエリ間隔を10分に設定します。

  • クエリ頻度を10分に設定します。

取り扱い方法

エラーメッセージに基づいて例外を修正します。

  • エラーメッセージにInvalid SPLクエリが含まれている場合、ジョブに設定された処理言語 (SPL) ルールに構文エラーがあり、エラーメッセージに基づいて変更する必要があります。 詳細については、「SPL構文」をご参照ください。

  • エラーメッセージにUnauthorized、InvalidAccessKeyId、またはSignatureNotMatchが含まれている場合、データ変換ジョブには、ソースLogstoreからデータを読み取り、またはターゲットLogstoreにデータを書き込むために必要な権限がありません。 詳細については、『Authorization overview』をご参照ください。

  • エラーメッセージにProjectNotExistまたはLogStoreNotExistが含まれている場合、データ変換ジョブの関連プロジェクトまたはLogstoreは存在しません。 この場合は、 Simple Log Serviceコンソールで問題のトラブルシューティングを行います。

  • アラートをクリアできない場合は、 テクニカルサポートのためのプロジェクト、Logstore、ジョブ情報を含むチケットを起票してください。

イベント配信比率 (同期比較)

項目

説明

目的

このタイプのルールは、ターゲットLogstoreに書き込まれたデータレコードの比率と、前日または週の同じ期間のデータレコードの比率との比較を監視します。 値が指定された増加のしきい値を超えるか、指定されたしきい値を下回ると、アラートがトリガーされます。

関連ダッシュボード

イベント配信比率: ソースLogstoreから読み取られたデータレコードの数に対する、ターゲットLogstoreに正常に配信されたデータレコードの数の比率。 デフォルトの統計ウィンドウは1日です。

サンプルSQL

アラートルールを作成するためのダイアログボックスで、クエリ用に次のSQL文を入力します。

次のテンプレートで、{job_name} を監視するデータ変換ジョブの名前に置き換えます。

__topic__: etl_metrics and 
job_name: {job_name}
| select
  round(diff [1], 1) as percent,
  round(coalesce(diff [3], 0), 1) as ratio_1d,
  round(coalesce(diff [5], 0), 1) as ratio_1w
from(
    select
      compare(percent, 86400, 604800) as diff
    FROM      (
        select
          deliver /(ingest + 0.0001) as percent
        from(
            select
              sum(
                if(
                  "_etl_:connector_meta.action" = 'ingest',
                  "_etl_:connector_metrics.native_bytes",
                  0
                )
              ) as ingest,
              sum(
                if(
                  "_etl_:connector_meta.action" = 'deliver',
                  "_etl_:connector_metrics.native_bytes",
                  0
                )
              ) as deliver
            FROM              log
          )
      )
  )

監視ルール

  • Trigger Conditionの場合、[the query result contains] に設定し、式を (ratio_1d>120 | | ratio_1d<80) && (ratio_1w>120 | ratio_1w<80) に設定します。これは、増加と減少の両方でしきい値が20% ことを意味します。

  • クエリ間隔を1時間に設定します。

  • クエリ頻度を1時間に設定します。

説明

毎日または毎週の比較にしきい値を20% 以上に設定するか、生のトラフィックサイクルに合わせて比較サイクルを調整することを推奨します。 これは、生データトラフィックの定期的な変動によって引き起こされる誤ったアラートを防ぐのに役立ちます。

取り扱い方法

次のルールに基づいて、トリガーされたアラートをクリアできます。

  1. ソースLogstoreのデータボリュームが変更された場合は、新しいデータパターンが追加されているか、追加されたデータパターンが中断されているかを確認します。 そのような状況が存在し、それによって引き起こされるボリューム変化がメトリック変化と一致する場合、メトリック変化はデータパターン変更によって引き起こされる。 そのような状況が存在しない場合は、次のステップに進みます。

  2. 変換レイテンシまたは例外が存在する場合は、まずこれらの問題をトラブルシューティングします。 これらの問題をトラブルシューティングした後、15分待ち、待ち時間が1分未満かどうかを確認します。 その場合は、処理されたデータボリュームの変更がソースLogstoreのデータボリュームの変更と一致するかどうかを確認します。 一致しない場合は、次のステップに進みます。

  3. アラートをクリアできない場合は、 テクニカルサポートのためのプロジェクト、Logstore、ジョブ情報を含むチケットを起票してください。

イベント読み取り率 (同期間比較)

項目

説明

目的

このタイプのルールは、ソースLogstoreから読み取られたデータレコードの比率と、前日または週の同じ期間のデータレコードの比率との比較を監視します。 値が指定された増加のしきい値を超えるか、指定されたしきい値を下回ると、アラートがトリガーされます。

関連ダッシュボード

合計イベントの読み取り数: ソースLogstoreの各シャードから読み取られたデータレコードの合計数。 デフォルトの統計ウィンドウは1日です。

サンプルSQL

アラートルールを作成するためのダイアログボックスで、クエリ用に次のSQL文を入力します。

次のテンプレートで、{job_name} を監視するデータ変換ジョブの名前に置き換えます。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": ingest
| select
  diff [1] as events,
  round(coalesce(diff [3], 0),  1) as ratio_1d,
  round(coalesce(diff [5], 0),  1) as ratio_1w
from(
    select
      compare(events, 86400, 604800) as diff
    FROM      (
        select
          sum("_etl_:connector_metrics.events") as events
        FROM          log
      )
  )

監視ルール

  • Trigger Conditionの場合、[the query result contains] に設定し、式を (ratio_1d>120 | | ratio_1d<80) && (ratio_1w>120 | ratio_1w<80) に設定します。これは、増加と減少の両方でしきい値が20% ことを意味します。

  • クエリ間隔を1時間に設定します。

  • クエリ頻度を1時間に設定します。

説明

毎日または毎週の比較にしきい値を20% 以上に設定するか、生のトラフィックサイクルに合わせて比較サイクルを調整することを推奨します。 これは、生データトラフィックの定期的な変動によって引き起こされる誤ったアラートを防ぐのに役立ちます。

取り扱い方法

次のルールに基づいて、トリガーされたアラートをクリアできます。

  1. 値の変更がソースLogstoreのデータボリュームの変更と一致している場合、値の変更はソースLogstoreのデータボリュームの変更によって発生します。 そうでない場合は、次のステップに進みます。

  2. 変換レイテンシまたは例外が存在する場合は、まずこれらの問題をトラブルシューティングします。 これらの問題をトラブルシューティングした後、15分待ち、待ち時間が1分未満かどうかを確認します。 その場合は、処理されたデータボリュームの変更がソースLogstoreのデータボリュームの変更と一致するかどうかを確認します。 一致しない場合は、次のステップに進みます。

  3. アラートをクリアできない場合は、 テクニカルサポートのためのプロジェクト、Logstore、ジョブ情報を含むチケットを起票してください。

配信されたイベント (同期比較)

項目

説明

目的

このタイプのルールは、ターゲットLogstoreに書き込まれたデータレコードの数と、前日または週と同じ期間のデータレコードの数との比較を監視します。 値が指定された増加のしきい値を超えるか、指定されたしきい値を下回ると、アラートがトリガーされます。

関連ダッシュボード

ダッシュボード > 全体的なメトリクス > 配信されたイベントの合計

サンプルSQL

アラートルールを作成するためのダイアログボックスで、クエリ用に次のSQL文を入力します。

次のテンプレートで、{job_name} を監視するデータ変換ジョブの名前に置き換えます。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": deliver
| select
  diff [1] as events,
  round(coalesce(diff [3], 0),  1) as ratio_1d,
  round(coalesce(diff [5], 0),  1) as ratio_1w
from(
    select
      compare(events, 86400, 604800) as diff
    FROM      (
        select
          sum("_etl_:connector_metrics.events") as events
        FROM          log
      )
  )

監視ルール

  • Trigger Conditionの場合、[the query result contains] に設定し、式を (ratio_1d>120 | | ratio_1d<80) && (ratio_1w>120 | ratio_1w<80) に設定します。これは、増加と減少の両方でしきい値が20% ことを意味します。

  • クエリ間隔を1時間に設定します。

  • クエリ頻度を1時間に設定します。

説明

毎日または毎週の比較にしきい値を20% 以上に設定するか、生のトラフィックサイクルに合わせて比較サイクルを調整することを推奨します。 これは、生データトラフィックの定期的な変動によって引き起こされる誤ったアラートを防ぐのに役立ちます。

取り扱い方法

次のルールに基づいて、トリガーされたアラートをクリアできます。

  1. 値の変更がソースLogstoreのデータボリュームの変更と一致している場合、値の変更はソースLogstoreのデータボリュームの変更によって発生します。 そうでない場合は、次のステップに進みます。

  2. 変換レイテンシまたは例外が存在する場合は、まずこれらの問題をトラブルシューティングします。 これらの問題をトラブルシューティングした後、15分待ち、待ち時間が1分未満かどうかを確認します。 その場合は、処理されたデータボリュームの変更がソースLogstoreのデータボリュームの変更と一致するかどうかを確認します。 一致しない場合は、次のステップに進みます。

  3. アラートをクリアできない場合は、 テクニカルサポートのためのプロジェクト、Logstore、ジョブ情報を含むチケットを起票してください。