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

Simple Log Service:ある Metricstore から別の Metricstore にデータを処理して保存する

最終更新日:Feb 14, 2025

Simple Log Service はスケジュール SQL 機能を提供します。この機能を使用して、スケジュールされた時間にデータを分析し、保存のためにデータを集計できます。また、この機能を使用してデータを投影およびフィルタリングすることもできます。 Simple Log Service では、スケジュール SQL ジョブを設定し、処理済みデータを宛先 Metricstore に保存することで、ソース Metricstore のデータを処理できます。

前提条件

手順

重要

スケジュール SQL 機能は現在パブリックプレビュー中です。 料金は、専用 SQL で使用される計算リソースに対してのみ発生します。 詳細については、「従量課金モードの課金対象項目」をご参照ください。

  1. Simple Log Service コンソール にログオンします。

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

    image

  3. [メトリックストレージ] > [metricstore] タブで、管理する Metricstore をクリックします。image

  4. クエリと分析の操作を実行します。

    1. ページの右上隅にある [15 分 (相対)] をクリックして、クエリの時間範囲を指定します。

    2. PromQL 文を入力し、[今すぐ実行] をクリックします。

      詳細については、「メトリックデータのクエリと分析」をご参照ください。

    説明

    この手順では、スケジュール SQL ジョブを作成する前にデータをプレビューできます。 入力したクエリ文が有効かどうか、およびクエリと分析の結果にデータが含まれているかどうかを確認できます。

  5. [詳細] > [スケジュール SQL ジョブとして保存] を選択します。

    创建任务

  6. スケジュール SQL ジョブを作成します。

    1. [計算設定] 手順で、パラメーターを設定し、[次へ] をクリックします。 次の表にパラメーターを示します。

      パラメーター

      説明

      ジョブ名

      スケジュール SQL ジョブの名前。

      表示名

      スケジュール SQL ジョブの表示名。

      ジョブの説明

      スケジュール SQL ジョブの説明。

      リソースプール

      データ分析に使用されるリソースプール。 Simple Log Service は、拡張タイプの resource pool を提供します。

      拡張タイプの resource pool は、専用 SQL の計算能力を利用して、同時分析要件を満たします。 コンソールでのスケジュール SQL と SQL 分析操作の間でリソースを分離します。 拡張タイプの resource pool に対しては、SQL 分析操作で消費される CPU 時間に基づいて課金されます。 詳細については、「専用 SQL を有効にする」をご参照ください。

      書き込みモード

      [metricstore から Metricstore にデータをインポートする] を選択します。 スケジュール SQL ジョブは、ソース Metricstore のデータを処理し、処理済みデータを宛先 Metricstore に保存します。

      SQL コード

      クエリ文。 デフォルトでは、手順 4 で入力した文が表示されます。 このパラメーターに提供されるプレビュー操作は、手順 4 のプレビュー操作と同じ効果があります。 [プレビュー] をクリックして、クエリ文が有効かどうか、およびクエリと分析の結果にデータが含まれているかどうかを確認できます。

      スケジュール SQL ジョブが実行されると、Simple Log Service はクエリ文を実行してデータを分析します。

      重要

      promql_query 関数を使用して、現在の時点のメトリックデータを宛先 Metricstore にインポートすることをお勧めします。 promql_query_range 関数を使用すると、大量のデータが展開されます。

      SQL 設定

      結果メトリック名

      分析用に選択したメトリックの新しい名前。 メトリックの名前を変更する場合は、このパラメーターでメトリックの新しい名前を指定できます。 詳細については、「メトリック」をご参照ください。

      重要

      分析用に単一のメトリックを選択した場合は、このパラメーターを設定してメトリックの名前を変更することをお勧めします。

      分析用に複数のメトリックを選択し、このパラメーターを設定すると、すべてのメトリックが指定した名前に変更されます。

      再ハッシュ

      ハッシュを有効にするかどうかを指定します。 [再ハッシュ] をオンにすると、[ハッシュ列] パラメーターを設定して、同じ label のデータを 1 つの shard に書き込むことができます。 これにより、データの局所性とクエリの効率が向上します。

      [ハッシュ列] パラメーターの有効値は、メトリックの既存の label 情報によって異なります。 たとえば、メトリックの既存の label 情報が {"alert_id":"alert-1608815762-545495","alert_name":"Alert clearance disabled","status":"inactive"} の場合、[ハッシュ列] パラメーターの有効値は、alert_idalert_name、および status です。 [ハッシュ列]status に設定すると、status の値が同じメトリックが同じ shard に書き込まれます。

      追加の Label

      メトリックの属性を識別するために使用される静的 label。 各 label はキーと値のペアです。

      たとえば、label_keyapp に、label_valueingress-nginx に設定できます。

      ターゲット

      ターゲットリージョン

      宛先プロジェクトが存在するリージョン。

      ターゲットプロジェクト

      クエリ文の結果を格納する宛先プロジェクトの名前。

      ターゲットストア

      クエリ文の結果を格納する宛先 Metricstore の名前。

      書き込み承認

      スケジュール SQL ジョブに宛先 Metricstore へのデータ書き込みを承認するために使用されるメソッド。 有効な値:

      • [デフォルトロール]: スケジュール SQL ジョブは、AliyunLogETLRole システムロールを引き受けて、分析結果を宛先 Metricstore に書き込みます。

        重要

        スケジュール SQL ジョブを初めて作成するときは、承認が必要であり、宛先プロジェクトが属する Alibaba Cloud アカウントを使用して完了する必要があります。 後続のスケジュール SQL ジョブを作成するときに承認を実行する必要はありません。

      • [カスタムロール]: スケジュール SQL ジョブは、カスタムロールを引き受けて、分析結果を宛先 Metricstore に書き込みます。 カスタムロールに、宛先 Metricstore にデータを書き込む権限を付与する必要があります。 その後、[ロール ARN] フィールドにカスタムロールの Alibaba Cloud Resource Name (ARN) を入力します。 詳細については、「RAM ロールに宛先ログストアにデータを書き込む権限を付与する」をご参照ください。

      SQL 実行承認

      スケジュール SQL ジョブに、ソース Metricstore からデータを読み取り、現在のプロジェクトのクエリ文を使用してデータを分析することを承認するために使用されるメソッド。 有効な値:

      • [デフォルトロール]: スケジュール SQL ジョブは、AliyunLogETLRole システムロールを引き受けて、必要な操作を実行します。

        重要

        スケジュール SQL ジョブを初めて作成するときは、承認が必要であり、宛先プロジェクトが属する Alibaba Cloud アカウントを使用して完了する必要があります。 後続のスケジュール SQL ジョブを作成するときに承認を実行する必要はありません。

      • [カスタムロール]: スケジュール SQL ジョブは、カスタムロールを引き受けて、必要な操作を実行します。

        カスタムロールに必要な権限を付与する必要があります。 その後、[ロール ARN] フィールドにカスタムロールの ARN を入力します。 詳細については、「ロール a にソースログストアのデータを分析する権限を付与する」をご参照ください。

    2. [スケジューリング設定] 手順で、次のパラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      スケジューリング間隔の指定

      スケジュール SQL ジョブがスケジュールされる頻度。 スケジュール SQL ジョブがスケジュールされるたびにインスタンスが生成されます。 このパラメーターは、各インスタンスのスケジュール時間を決定します。 有効な値:

      • [毎時]: スケジュール SQL タスクは 1 時間ごとにスケジュールされます。

      • [毎日]: スケジュール SQL タスクは毎日決まった時間にスケジュールされます。

      • [毎週]: スケジュール SQL タスクは毎週決まった曜日の決まった時間にスケジュールされます。

      • [固定間隔]: スケジュール SQL タスクは固定間隔でスケジュールされます。

      • [cron]: スケジュール SQL タスクは、Cron 式を使用して指定された間隔でスケジュールされます。

        Cron 式を使用する場合、指定された間隔は 24 時間制に基づいて分単位で正確です。 たとえば、式 0 0/1 * * * は、スケジュール SQL タスクが 00:00 から 1 時間ごとにスケジュールされることを示します。

        タイムゾーンを指定する必要がある場合は、[cron] を選択します。 一般的なタイムゾーンのリストについては、「タイムゾーン」をご参照ください。

      スケジューリング時間範囲

      スケジュール SQL ジョブがスケジュールされる時間範囲。 有効な値:

      • [指定した時刻に開始]: スケジュール SQL タスクが最初にスケジュールされる時刻を指定します。

      • [特定の期間内]: スケジュール SQL タスクがスケジュールされる時間範囲を指定します。

      説明
      • 時間範囲を指定すると、スケジュール SQL ジョブのインスタンスは、その時間範囲内でのみ実行できます。 終了時刻の後、スケジュール SQL ジョブはインスタンスを生成しなくなります。

      • スケジューリング時間範囲は、__time__ フィールドです。 詳細については、「予約フィールド」をご参照ください。

      SQL タイムウィンドウ

      スケジュール SQL ジョブの実行時に分析されるログのタイムウィンドウ。 このパラメーターは、[スケジューリング時間範囲] パラメーターと一緒に設定する必要があります。 このパラメーターで指定された期間は、[スケジューリング間隔の指定] で指定された期間の最大 5 倍にすることができます。 SQL タイムウィンドウの開始時刻と終了時刻は 24 時間以内である必要があります。 詳細については、「時間式の構文」をご参照ください。

      たとえば、[スケジューリング間隔の指定][固定間隔 10 分] に設定され、[開始時刻][2021-04-01 00:00:00] に設定され、[タスクの遅延][30 秒] に設定され、[SQL タイムウィンドウ][@m-10m,@m)] に設定されているとします。 この例では、スケジュール SQL ジョブの最初のインスタンスは 00:00:30 に生成され、[23:50:00 から 00:00:00) の時間範囲に該当するログを分析します。 詳細については、「スケジューリングと実行のシナリオ」をご参照ください。

      説明
      • SQL タイムウィンドウは、__time__ フィールドです。 詳細については、「予約フィールド」をご参照ください。

      • SQL コードで __time__ が定義されていない場合、ターゲット metricstore に書き込まれるログ時間 __time__ は、デフォルトでスケジュール SQL ジョブの開始時刻になります。

      SQL タイムアウト

      SQL 分析操作が失敗した場合の自動再試行のしきい値。 インスタンスが指定した最大時間を超えて再試行された場合、またはインスタンスの再試行回数が指定した上限を超えた場合、インスタンスは再試行を停止し、FAILED 状態になります。 障害原因に基づいてインスタンスを手動で再試行できます。 詳細については、「スケジュール SQL インスタンスを再試行する」をご参照ください。

      タスクの遅延

      インスタンスがスケジュール時間から遅延される秒数。 有効値: 0 ~ 120。 単位: 秒。

      宛先 metricstore にデータを書き込むときにレイテンシが発生する場合は、このパラメーターを使用してデータ整合性を確保できます。

      スケジュール SQL ジョブが作成された後、宛先 metricstore で SQL 実行結果を表示できます。

SDK の例

Java SDK を使用してスケジュール SQL タスクを作成する