このトピックでは、機能と関連する操作を説明するための完全なデータ変換プロセスについて説明します。 ウェブサイトアクセスログは、プロセスを説明するための例として使用される。
前提条件
web-projectという名前のプロジェクトが作成されます。 詳細については、「プロジェクトの作成」をご参照ください。
website_logという名前のLogstoreがwebプロジェクトに作成され、LogstoreがソースLogstoreとして使用されます。 詳細については、「Logstore の作成」をご参照ください。
Webサイトアクセスログが収集され、website_log Logstoreに保存されます。 詳細については、「データ収集の概要」をご参照ください。
宛先ログストアは、webプロジェクトプロジェクトに作成されます。 次の表に、移行先のLogstoreを示します。
宛先ログストア
説明
ウェブサイト-成功
成功したアクセスのログは、target-successの保存先に設定されているwebsite-success Logstoreに保存されます。
ウェブサイト-失敗
失敗したアクセスのログは、Webサイトに失敗したLogstoreに保存されます。
ウェブサイト-etl
その他のアクセスログは、target0の保存先で設定されているwebsite-etl Logstoreに保存されます。
RAM (Resource Access Management) ユーザーを使用する場合は、そのユーザーにデータ変換の権限が付与されていることを確認してください。 詳細については、「RAMユーザーにデータ変換ジョブを管理する権限を付与する」をご参照ください。
インデックスは、ソースおよび宛先ログストアに設定されます。 詳細については、「インデックスの作成」をご参照ください。
重要データ変換にはインデックスは必要ありません。 ただし、インデックスを設定しないと、クエリまたは分析操作を実行できません。
背景情報
WebサイトのすべてのアクセスログはLogstoreに保存されます。 成功したアクセスのログと失敗したアクセスのログを区別するには、ログに異なるトピックを指定する必要があります。 さらに、分析のために2種類のログを異なるログストアに配布する必要があります。 サンプルログ:
body_bytes_sent:1061
http_user_agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5
remote_addr:192.0.2.2
remote_user:vd_yw
request_method:DELETE
request_uri:/request/path-1/file-5
status:207
time_local:10/Jun/2021:19:10:59
ステップ1: データ変換ジョブの作成
データ変換ページに移動します。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
On the タブで、管理するLogstoreをクリックします。
クエリと分析ページで、データ変換.
表示されるページの右上隅で、管理するデータの時間範囲を指定します。
時間範囲を指定したら、[生ログ] タブにログが表示されることを確認します。
コードエディターで、変換ステートメントを入力します。
e_if(e_search("status:[200,299]"),e_compose(e_set("__topic__","access_success_log"),e_output(name="target-success"))) e_if(e_search("status:[400,499]"),e_compose(e_set("__topic__","access_fail_log"),e_output(name="target-fail")))
e_if関数は、条件が満たされた場合に指定された操作が実行されることを示します。 詳細については、「e_if」をご参照ください。
条件:
e_search("status:[200,299]")
statusフィールドの値が条件を満たす場合、操作1と操作2が実行されます。 詳細については、「e_search」をご参照ください。
操作1:
e_set("__topic__","access_success_log")
この関数は __topic__ フィールドを追加し、値access_success_logをフィールドに割り当てます。 詳細は、「e_set」をご参照ください。
操作2:
e_output(name="target-success", project="web-project", logstore="website-success")
この関数は、変換されたデータをwebsite-success Logstoreに保存します。 詳細については、「e_output」をご参照ください。
変換結果をプレビューします。
選択クイック.
[クイック] または [詳細] を選択できます。 詳細については、「プレビューモードの概要」をご参照ください。
クリックデータのプレビュー.
変換結果を表示します。
重要プレビュー中、ログは、ターゲットLogstoreではなくinternal-etl-logという名前のLogstoreに書き込まれます。 変換結果を初めてプレビューすると、Simple Log Serviceは現在のプロジェクトにinternal-etl-log Logstoreを自動的に作成します。 このLogstoreは専用です。 このLogstoreの設定を変更したり、このLogstoreに他のデータを書き込むことはできません。 このLogstoreは課金されません。
データ変換ジョブを作成します。
クリック変換ジョブとして保存.
では、データ変換ジョブの作成パネル、次のパラメータを設定します。
パラメーター
説明
ジョブ名
データ変換ジョブの名前。
権限付与方法
データ変換ジョブがソースLogstoreからデータを読み取ることを許可するために使用されるメソッド。 有効な値:
デフォルトロール: データ変換ジョブは、ソースLogstoreからデータを読み取るためにAliyunLogETLRoleシステムロールを引き受けます。
カスタムロール: データ変換ジョブは、ソースLogstoreからデータを読み取るためのカスタムロールを想定しています。
ソースLogstoreから読み取る権限をカスタムロールに付与する必要があります。 次に、[ロールARN] フィールドにカスタムロールのAlibaba Cloudリソース名 (ARN) を入力する必要があります。 詳細については、「カスタムロールを使用したデータへのアクセス」をご参照ください。
AccessKeyペア: データ変換ジョブは、Alibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを使用して、ソースLogstoreからデータを読み取ります。
Alibaba Cloudアカウント: Alibaba CloudアカウントのAccessKeyペアには、ソースLogstoreから読み取る権限があります。 AccessKey IDおよびAccessKey secretフィールドに、Alibaba CloudアカウントのAccessKey IDおよびAccessKey Secretを直接入力できます。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。
RAMユーザー: ソースLogstoreから読み取る権限をRAMユーザーに付与する必要があります。 次に、AccessKey IDおよびAccessKey secretフィールドに、RAMユーザーのAccessKey IDおよびAccessKey Secretを入力できます。 詳細については、「AccessKeyペアを使用したデータへのアクセス」をご参照ください。
ストレージターゲット
ターゲット名
保存先の名前。 ストレージターゲットには、ターゲットプロジェクトとターゲットストアが含まれます。
このパラメーターの値が、ステップ4で設定したnameの値と同じであることを確認してください。
説明デフォルトでは、Simple Log Serviceは、番号1の保存先を使用して、指定された条件を満たさないログを保存します。 この例では、target0の格納先が使用されます。
対象リージョン
ターゲットLogstoreが属するプロジェクトのリージョン。
リージョン間でデータ変換を実行する場合は、データ送信にHTTPSを使用することを推奨します。 これにより、ログデータのプライバシーが確保されます。
クロスリージョンデータ変換の場合、データはインターネットを介して送信されます。 インターネット接続が不安定な場合、データ変換の待ち時間が存在する可能性があります。 DCDNアクセラレーションを選択すると、クロスリージョンデータ送信を高速化できます。 DCDNアクセラレーションを選択する前に、プロジェクトのグローバルアクセラレーション機能が有効になっていることを確認してください。 詳細については、「ログ収集の高速化」をご参照ください。
重要データがパブリックSimple Log Serviceエンドポイントを介してプルされた場合、インターネットを介した読み取りトラフィックに対して課金されます。 トラフィックは、圧縮後のデータのサイズに基づいて計算されます。 詳細については、「機能課金の課金項目」をご参照ください。
対象プロジェクト
ターゲットLogstoreが属するプロジェクトの名前。
ターゲットストア
宛先Logstoreの名前。
権限付与方法
変換されたデータを宛先Logstoreに書き込むために、データ変換ジョブを許可するために使用されるメソッド。 有効な値:
デフォルトの役割: データ変換ジョブは、変換されたデータを宛先Logstoreに書き込むためにAliyunLogETLRoleシステムの役割を引き受けます。
カスタムロール: データ変換ジョブは、変換されたデータを宛先Logstoreに書き込むためのカスタムロールを引き受けます。
カスタムロールに、宛先Logstoreに書き込む権限を付与する必要があります。 次に、[ロールARN] フィールドにカスタムロールのARNを入力する必要があります。 詳細については、「カスタムロールを使用したデータへのアクセス」をご参照ください。
AccessKeyペア: データ変換ジョブは、Alibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを使用して、変換されたデータを宛先Logstoreに書き込みます。
Alibaba Cloudアカウント: Alibaba CloudアカウントのAccessKeyペアには、宛先Logstoreへの書き込み権限があります。 AccessKey IDおよびAccessKey secretフィールドに、Alibaba CloudアカウントのAccessKey IDおよびAccessKey Secretを直接入力できます。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。
RAMユーザー: RAMユーザーに、宛先Logstoreへの書き込み権限を付与する必要があります。 次に、AccessKey IDおよびAccessKey secretフィールドに、RAMユーザーのAccessKey IDおよびAccessKey Secretを入力できます。 詳細については、「AccessKeyペアを使用したデータへのアクセス」をご参照ください。
処理範囲
時間範囲
データが変換される時間範囲。 有効な値:
説明Time Rangeの値は、ログが受信された時刻に基づいています。
すべて: ジョブが手動で停止されるまで、最初のログからソースLogstoreのデータを変換します。
From Specific Time: 指定された開始時刻に受信されたログから、ジョブが手動で停止されるまで、ソースLogstore内のデータを変換します。
指定期間内: ソースLogstore内のデータを、指定された開始時刻に受信したログから指定された終了時刻に受信したログに変換します。
クリックOK.
ログが宛先Logstoreに配布された後、宛先Logstoreでクエリおよび分析操作を実行できます。 詳細については、「ログの照会と分析」をご参照ください。
ステップ2: データ変換ジョブを表示する
左側のナビゲーションウィンドウで、
を選択します。データ変換ジョブのリストで、作成したジョブを見つけてクリックします。
[データ変換の概要] ページで、ジョブの詳細を表示します。
ジョブの詳細とステータスを表示できます。 ジョブを変更、開始、停止、または削除することもできます。 詳細については、「Manage a data transformation job」をご参照ください。