ウェブサイトのアクセスログをフィルターおよび変換し、エラーデータを抽出して機密情報を削除します。
前提条件
作業を開始する前に、以下の準備が完了していることを確認してください。
web-project という名前のプロジェクトを作成済みであること。詳細については、「プロジェクトの管理」をご参照ください。
web-project プロジェクト内に website_log という名前のソース Logstore を作成済みであること。詳細については、「Logstore の管理」をご参照ください。
ウェブサイトのアクセスログをソース Logstore (website_log) に取り込み済みであること。詳細については、「データ取り込みの概要」をご参照ください。
web-project プロジェクト内に website_fail という名前の送信先 Logstore を作成済みであること。
該当する場合は、データ変換操作を実行するための権限を RAM ユーザーに付与済みであること。詳細については、「RAM ユーザーにデータ変換操作の権限を付与する」をご参照ください。
ソースおよび送信先の Logstore にインデックスを設定済みであること。詳細については、「インデックスの作成」をご参照ください。
データ変換ジョブはインデックスに依存しません。ただし、インデックスを設定しない場合、クエリと分析操作を実行できません。
背景情報
あるウェブサイトでは、すべてのアクセスログを website_log という名前の Logstore に保存しています。ユーザー体験を向上させるためには、アクセスエラーの分析が必要です。この例では、ステータスコードが 4xx のログをフィルターし、ユーザーの個人情報を削除したうえで、結果を business analyst 向けに website_fail という新しい Logstore に書き込みます。以下はサンプルログです。
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: GET
request_uri: /request/path-1/file-5
status: 400
time_local: 10/Jun/2021:19:10:59
error: Invalid time rangeステップ 1:データ変換ジョブの作成
Simple Log Service コンソールにログインします。
データ変換ページに移動します。
[Projects] セクションで、対象のプロジェクトをクリックします。
タブで、対象の Logstore をクリックします。
クエリと分析ページで、データ処理 をクリックします。
ページ右上隅で、時間範囲を選択します。
時間範囲を選択後、Rawデータ タブにログが表示されることを確認します。
エディターに、次の構造化プロセス言語 (SPL) ルールを入力します。
* | extend status=cast(status as BIGINT) | where status>=0 AND status<500 | project-away remote_addr, remote_userSPL ルールをデバッグします。
Raw Data タブからテストデータを選択するか、手動でテストデータを入力します。

▷ をクリックしてテストを実行します。
プレビュー結果を確認します。

データ変換ジョブを作成します。
Save as Transformation Job (New Version) をクリックします。
Create Data Transformation Job (New Version) パネルで、以下のパラメーターを設定し、OK をクリックします。
パラメーター
説明
タスク名
データ変換ジョブの名前です。
表示名
ジョブの表示名です。
ジョブの説明
ジョブの説明です。
Authorization Method
ジョブがソース Logstore からデータを読み取るための権限を付与する方法を選択します。
Default Role:ジョブは AliyunLogETLRole システムロールを偽装して、ソース Logstore からデータを読み取ります。Authorize the system role AliyunLogETLRole をクリックし、表示される指示に従って権限付与を完了してください。詳細については、「デフォルトロールを使用したデータへのアクセス」をご参照ください。
重要RAM ユーザーを使用する場合、Alibaba Cloud アカウントによる事前の権限付与が必要です。
Alibaba Cloud アカウントがすでに権限付与済みの場合は、この手順をスキップできます。
Custom Role:ジョブはカスタムロールを偽装して、ソース Logstore からデータを読み取ります。事前にカスタムロールにソース Logstore からのデータ読み取り権限を付与し、Role ARN フィールドにそのロールの ARN を入力する必要があります。詳細については、「カスタムロールを使用したデータへのアクセス」をご参照ください。
AccessKey:セキュリティ上の理由により、AccessKey ペア (AK/SK) を使用したジョブの作成はできなくなりました。
ストレージターゲット
ターゲット名
ストレージ送信先の名前です。ストレージ送信先には、プロジェクトや Logstore などの構成が含まれます。
Destination Region
送信先プロジェクトが配置されているリージョンです。
ターゲットプロジェクト
変換結果を格納する送信先プロジェクトです。SPL 文で指定したプロジェクトは、ここで設定した値をオーバーライドします。詳細については、「動的な送信先プロジェクト/Logstore 出力」をご参照ください。
重要SPL 文で動的に指定するプロジェクトは、ここで設定するリージョンおよび権限付与と一致している必要があります。
ターゲットデータベース
変換結果を格納する送信先 Logstore です。SPL 文で指定した Logstore は、ここで設定した値をオーバーライドします。詳細については、「動的な送信先プロジェクト/Logstore 出力」をご参照ください。
重要SPL 文で動的に指定する Logstore は、ここで設定するリージョン、権限付与、およびプロジェクトと一致している必要があります。送信先 Logstore をソース Logstore と同じにすることはできません。
警告送信先ストアを現在のソースストア(同一ソース構成)に設定しないでください。そうするとログがループして書き込まれ、追加のストレージおよびトラフィックコストが発生します。リソース消費およびそれに伴うコストはお客様のご負担となります。
Authorization Method
ジョブが送信先 Logstore にデータを書き込むための権限を付与する方法を選択します。
Default Role:ジョブは AliyunLogETLRole システムロールを偽装して、送信先 Logstore に結果を書き込みます。Authorize the system role AliyunLogETLRole をクリックし、表示される指示に従って権限付与を完了してください。詳細については、「デフォルトロールを使用したデータへのアクセス」をご参照ください。
重要RAM ユーザーを使用する場合、Alibaba Cloud アカウントによる事前の権限付与が必要です。
Alibaba Cloud アカウントがすでに権限付与済みの場合は、この手順をスキップできます。
Custom Role:ジョブはカスタムロールを偽装して、送信先 Logstore に結果を書き込みます。事前にカスタムロールに送信先 Logstore へのデータ書き込み権限を付与し、Role ARN フィールドにそのロールの ARN を入力する必要があります。詳細については、「カスタムロールを使用したデータへのアクセス」をご参照ください。
AccessKey:セキュリティ上の理由により、AccessKey ペア (AK/SK) を使用したジョブの作成はできなくなりました。
結果セットの書き込み
送信先 Logstore に書き込むデータセットです。データ変換 (新バージョン) におけるデータセットの詳細については、「データセットの説明」をご参照ください。1 つの送信先に対して複数のデータセットを設定でき、複数の送信先で同じデータセットを使用することも可能です。
処理範囲
時間範囲
(データ受信時刻)
データ変換ジョブの時間範囲を指定します。以下のオプションがあります。
すべて:ジョブは最初のログエントリから手動で停止するまでデータを処理します。
特定の時間に開始されます:ジョブの開始時刻を指定します。ジョブは指定された開始時刻から手動で停止するまでデータを処理します。
指定期間内:ジョブの開始時刻と終了時刻を指定します。ジョブは指定された終了時刻に自動的に停止します。
詳細設定
パラメーターの詳細設定
変換文にデータベースパスワードなどの機密情報が必要な場合は、キーと値のペアとして保存できます。その後、
res_local("key")関数を使用して文内で参照できます。+ をクリックして複数のキーと値のペアを追加できます。たとえば、
config.vpc.vpc_id.test1:vpc-uf6mskb0b****n9yjは RDS インスタンスが配置されている VPC の ID を指定します。
送信先 Logstore (website_fail) に移動し、クエリと分析操作を実行します。詳細については、「クエリと分析のクイックガイド」をご参照ください。
ステップ 2:データ変換ジョブの監視
左側のナビゲーションウィンドウで、 を選択します。
データ変換ジョブの一覧で、管理対象のデータ変換ジョブを見つけ、クリックします。
データ変換概要 (新バージョン) ページで、データ変換ジョブの詳細を確認します。ジョブの詳細やステータスを表示できます。また、ジョブの変更、開始、停止、削除も可能です。詳細については、「データ変換ジョブの管理 (新バージョン)」をご参照ください。ジョブの実行状況やメトリックも監視できます。詳細については、「データ変換ジョブの監視とモニタリング (新バージョン)」をご参照ください。