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

Simple Log Service:複数のソースLogstoreのログを1つの宛先Logstoreに集約する

最終更新日:Aug 28, 2024

Simple Log Serviceでは、各Logstoreにデータ変換ジョブを設定できます。 これにより、複数のソースLogstoreのログを1つの宛先Logstoreに集約できます。 このトピックでは、複数のソースLogstoreのログを1つのターゲットLogstoreに集約する方法と、一般的なシナリオについて説明します。

背景情報

情報ウェブサイトのサービスは世界中に配布されています。 さまざまな情報チャネルのユーザーのアクセスログが収集され、さまざまなAlibaba Cloudアカウントのログストアに保存されます。 複数のLogstoreのログを1つのLogstoreに集約して、その後のデータクエリと分析を行うには、e_output関数を使用してログを変換します。 詳細については、「e_output」をご参照ください。

このトピックでは、英国 (ロンドン) リージョンのLogstoreを使用して、複数のソースLogstoreのログを1つの宛先Logstoreに集約する方法を説明します。

  • アカウント1の生ログは、Project_1という名前のプロジェクトのLogstore_1という名前のLogstoreに保存されます。 このプロジェクトは英国 (ロンドン) 地域にあります。

    Log 1
    request_id: 1
    http_host:  example.com
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    
    Log 2
    request_id: 2
    http_host:  aliyundoc.com
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
  • アカウント2の生ログは、Project_2という名前のプロジェクトのLogstore_2という名前のLogstoreに保存されます。 このプロジェクトは英国 (ロンドン) 地域にあります。

    Log 1
    request_id: 3
    host:  example.edu
    status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    
    Log 2
    request_id: 4
    host:  example.net
    status:  200
    request_method:  GET
    request_uri:  /data/index.html
  • 変換の要件

    • アカウント1のLogstore_1でhttp_status200されているログをアカウント3のLogstore_3にエクスポートします。

    • アカウント2のLogstore_2でhttp_status200されているログをアカウント3のLogstore_3にエクスポートします。 ログをエクスポートする前に、Logstore_1のフィールド名との整合性を保つために、hostの名前をhttp_hostに、statushttp_statusに変更します。

手順1: Logstore_1のデータ変換ルールの設定

  1. アカウント1のLogstore_1のデータ変換ページに移動します。 Simple Log Serviceコンソールのページに移動する方法の詳細については、「データ変換ジョブの作成」をご参照ください。

  2. データ変換ページで、次のデータ変換ルールを設定します。 アカウント1のLogstore_1でhttp_status200されているログをアカウント3のLogstore_3にエクスポートします。

    e_if(e_match("http_status", "200"), e_output("target_logstore"))
  3. データ変換ジョブを作成します。 [ストレージの宛先] セクションで、次の図に基づいて、[宛先名][宛先リージョン][宛先プロジェクト] 、および [ターゲットストア] パラメーターを設定します。 承認方法パラメーターの詳細については、「データ変換ジョブの作成」をご参照ください。

    加工规则

ステップ2: Logstore_2のデータ変換ルールを設定する

  1. アカウント2のLogstore_2のデータ変換ページに移動します。 Simple Log Serviceコンソールのページに移動する方法の詳細については、「データ変換ジョブの作成」をご参照ください。

  2. データ変換ページで、次のデータ変換ルールを設定します。 アカウント2のLogstore_2でhttp_status200されているログをアカウント3のLogstore_3にエクスポートします。 ログをエクスポートする前に、Logstore_1のフィールド名との整合性を保つために、hostの名前をhttp_hostに、statushttp_statusに変更します。

    e_if(e_match("status", "200"), e_compose(e_rename("status", "http_status", "host", "http_host"), e_output("target_logstore")))

    結果のプレビュー

    image

  3. データ変換ジョブを作成します。 [ストレージの宛先] セクションで、次の図に基づいて、[宛先名][宛先リージョン][宛先プロジェクト] 、および [ターゲットストア] パラメーターを設定します。 承認方法パラメーターの詳細については、「データ変換ジョブの作成」をご参照ください。

    image

集計結果の表示

英国 (ロンドン) リージョンにあるLogstore_3のログを照会および分析します。 詳細については、「ログの照会と分析」をご参照ください。 サンプルログ:

Log 1
request_id: 1
http_host:  example.com
http_status:  200
request_method:  GET
request_uri:  /pic/icon.jpg

Log 2
request_id: 4
http_host:  example.net
http_status:  200
request_method:  GET
request_uri:  /data/index.html