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

Simple Log Service:複数の送信先 Logstore へのデータのディストリビューション

最終更新日:Mar 14, 2026

本トピックでは、複数の送信先 Logstore へのデータのディストリビューションに関する各種シナリオおよび必要な手順について説明します。対象となるシナリオには、動的ディストリビューション、クロスアカウントディストリビューション、動的クロスアカウントディストリビューション、および複雑なシナリオにおける動的ディストリビューションが含まれます。

背景情報

Simple Log Service のデータ変換機能では、変換結果を複数の送信先 Logstore へディストリビューションできます。変換結果を保存する際、異なるアカウントの AccessKey 情報を設定することで、そのアカウントに属する Logstore へ結果を送信できます。また、e_output 関数または e_coutput 関数を使用して、送信先のプロジェクトおよび Logstore を動的に取得し、異なる Logstore へ結果をディストリビューションすることも可能です。

説明
  • 変換結果は、最大 20 アカウントの Logstore へディストリビューションできます。

  • e_output 関数を使用した場合、指定された LogStore へ送信されたログは、その後続の変換ルールによって処理されません。指定された LogStore へ送信されたログに対しても後続の変換ルールを適用する場合は、e_coutput 関数をご利用ください。詳細については、「e_outputLogStoreut」をご参照ください。本トピックでは、例として e_output 関数を使用します。

シナリオ 1:クロスアカウントディストリビューション

たとえば、ある Web サイトのすべてのアクセスログが 1 つの Logstore に格納されています。このログから、ステータスコードごとに異なるログを、それぞれ別のアカウントに属する Logstore へディストリビューション・保存したいとします。

この要件を満たすには、Simple Log Service のデータ変換機能をご利用ください。

  • 元のログ

    http_host:  example.com
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    http_host:  example.org
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    http_host:  example.net
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    http_host:  aliyundoc.com
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https
  • ディストリビューション要件

    • http_status2XX であるログを、ストレージターゲット target0 の Logstore0 に保存します。ログのトピックを success_event に設定します。

    • http_status3XX のログを、ストレージターゲット target1 の Logstore1 に振り分けます。ログのトピックを redirection_event に設定します。

    • http_status4XX であるログを、ストレージターゲット target2 の Logstore2 に転送します。ログトピックを unauthorized_event に設定します。

    • http_status5XX のログを、ストレージターゲット target3 の Logstore3 に配信します。ログトピックを internal_server_error_event に設定します。

    target0 はアカウント A に属しています。target1target2、および target3 はアカウント B に属しています。

  • 変換ルール

    e_switch(e_match("status", r"2\d+"), e_set("__topic__", "success_event"),
             e_match("status", r"3\d+"), e_compose(e_set("__topic__", "redirection_event"), e_output("target1")),
             e_match("status", r"4\d+"), e_compose(e_set("__topic__", "unauthorized_event"), e_output("target2")),
             e_match("status", r"5\d+"), e_compose(e_set("__topic__", "internal_server_error_event`"), e_output("target3"))
        )
  • ストレージターゲット

    データ変換ジョブの作成 パネルで、ストレージターゲットを構成できます。詳細については、「データ変換ジョブの作成」をご参照ください。数据分发

    ラベル

    ストレージターゲット

    送信先プロジェクトおよび Logstore

    AccessKey

    1

    target0

    Project0, LogStore0

    アカウント A の AccessKey 情報

    2

    target1

    Project1, Logstore1

    アカウント B の AccessKey 情報

    3

    target2

    Project2, Logstore2

    アカウント B の AccessKey 情報

    4

    target3

    Project3, Logstore3

    アカウント B の AccessKey 情報

  • 変換結果

    ## http_status が 2XX のログは、アカウント A の Logstore0 へディストリビューションされます。
    
    __topic__:  success_event
    http_host:  example.com
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    ## http_status が 3XX のログは、アカウント B の Logstore1 へディストリビューションされます。
    
    __topic__:  redirection_event
    http_host:  example.org
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    ## http_status が 4XX のログは、アカウント B の Logstore2 へディストリビューションされます。
    
    __topic__: unauthorized_event
    http_host:  example.net
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    ## http_status が 5XX のログは、アカウント B の Logstore3 へディストリビューションされます。
    
    __topic__: internal_server_error_event
    http_host:  aliyundoc.com
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https

シナリオ 2:シンプルな動的ディストリビューション

たとえば、ある Web サイトのすべてのアクセスログが 1 つの Logstore に格納されています。このログを、project および LogStore フィールドの値に基づいて、異なる Logstore へディストリビューション・保存したいとします。

この要件を満たすには、Simple Log Service のデータ変換機能をご利用ください。

  • 元のログ

    __tag__:type: dynamic_dispatch
    host:  example.aliyundoc.com
    project: Project1
    logstore: Logstore1
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    __tag__:type: dynamic_dispatch
    host:  demo.aliyundoc.com
    project: Project1
    logstore: Logstore2
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    __tag__:type:  dynamic_dispatch
    host:   learn.aliyundoc.com
    project: Project2
    logstore: Logstore1
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    __tag__:type: dynamic_dispatch
    host:   guide.aliyundoc.com
    project: Project2
    logstore: Logstore2
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https
  • ディストリビューション要件

    • project および LogStore フィールドの値に基づき、ログを動的にディストリビューションします。

    • __tag__:type フィールドをログに追加し、その値を dynamic_dispatch に設定します。

  • 変換ルール

    e_output(project=v("project"), logstore=v("logstore"), tags={"type": "dynamic_dispatch"})

    e_output 関数は、project および LogStore フィールドの値を動的に抽出してログをディストリビューションします。

  • ストレージターゲット

    データ変換ジョブの作成 パネルで、デフォルトのストレージターゲットを設定できます。このターゲットは、変換中に破棄されなかった他のログの保存先として使用されます。

    説明

    本シナリオでは、動的ディストリビューションの送信先プロジェクトおよび Logstore は、e_output 関数内の構成によって決定されます。データ変換ジョブの作成 パネルでデフォルトのストレージターゲット(ラベル 1)として構成された送信先プロジェクトおよび Logstore とは無関係です。

    动态分发

  • 変換結果

    ## Project1 の Logstore1 へディストリビューションされました。
    
    __tag__:type: dynamic_dispatch
    host:  example.aliyundoc.com
    project: Project1
    logstore: Logstore1
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    ## Project1 の Logstore2 へディストリビューションされました。
    
    __tag__:type: dynamic_dispatch
    host:  demo.aliyundoc.com
    project: Project1
    logstore: Logstore2
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    ## Project2 の Logstore1 へディストリビューションされました。
    
    __tag__:type:  dynamic_dispatch
    host:   learn.aliyundoc.com
    project: Project2
    logstore: Logstore1
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    ## Project2 の Logstore2 へディストリビューションされました。
    
    __tag__:type: dynamic_dispatch
    host:   guide.aliyundoc.com
    project: Project2
    logstore: Logstore2
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https

シナリオ 3:動的クロスアカウントディストリビューション

たとえば、ある Web サイトのすべてのアクセスログが 1 つの Logstore に格納されています。このログを、project および LogStore フィールドの値に基づき、異なるアカウントに属する Logstore へ動的にディストリビューションしたいとします。

この要件を満たすには、Simple Log Service のデータ変換機能をご利用ください。

  • 元のログ

    host:  example.aliyundoc.com
    project: Project1
    logstore: Logstore1
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    host:  demo.aliyundoc.com
    project: Project1
    logstore: Logstore2
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    host:   learn.aliyundoc.com
    project: Project2
    logstore: Logstore1
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    host:   guide.aliyundoc.com
    project: Project2
    logstore: Logstore2
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https
  • ディストリビューション要件

    project および LogStore フィールドの値に基づき、ログを動的にディストリビューションします。送信先のプロジェクトは異なるアカウントに属しています。Project1(LogStore1 および LogStore2 を含む)はアカウント A に属し、Project2(LogStore1 および LogStore2 を含む)はアカウント B に属しています。

  • 変換ルール

    e_switch(e_match(v("project"), "Project1"), e_output(name="target1", project=v("project"), logstore=v("logstore")),
             e_match(v("project"), "Project2"), e_output(name="target2", project=v("project"), logstore=v("logstore")))
  • ストレージターゲット

    データ変換ジョブの作成 パネルで、ストレージターゲットを構成できます。詳細については、「データ変換ジョブの作成」をご参照ください。

    説明

    本シナリオでは、送信先のプロジェクトおよび Logstore は、e_output 関数内の構成によって決定されます。データ変換ジョブの作成 パネルでデフォルトのストレージターゲット(ラベル 1)として構成された送信先プロジェクトおよび Logstore とは無関係です。

    跨账号动态分发

    ラベル

    ストレージターゲット

    送信先プロジェクトおよび Logstore

    AccessKey

    1

    target0

    Project0, Logstore0

    該当なし

    2

    target1

    任意を選択してください。送信先は e_output 関数の構成によって決定されます。

    アカウント A の AccessKey 情報

    3

    target2

    任意を選択してください。送信先は e_output 関数の構成によって決定されます。

    アカウント B の AccessKey 情報

  • 変換結果

    ## アカウント A の Project1 の Logstore1 へディストリビューションされました。
    
    host:  example.aliyundoc.com
    project: Project1
    logstore: Logstore1
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    scheme:  https
    
    ## アカウント A の Project1 の Logstore2 へディストリビューションされました。
    host:  demo.aliyundoc.com
    project: Project1
    logstore: Logstore2
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    scheme:  http
    
    ## アカウント B の Project2 の Logstore1 へディストリビューションされました。
    
    host:   learn.aliyundoc.com
    project: Project2
    logstore: Logstore1
    http_status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    scheme:  https
    
    ## アカウント B の Project2 の Logstore2 へディストリビューションされました。
    
    host:   guide.aliyundoc.com
    project: Project2
    logstore: Logstore2
    http_status:  504
    request_method:  GET
    request_uri:  /data/index.html
    scheme:  https

シナリオ 4:複雑なシナリオにおける動的ディストリビューション

たとえば、ある企業がゲームの広告を配信しており、そのゲームに対するすべての API リクエスト情報を 1 つの Logstore に格納しています。この企業は、user-agent リクエストヘッダーを解析し、iOS、Android、Windows など異なるデバイスからのリクエストを分類・ディストリビューション・保存したうえで、広告コンバージョン率を分析したいと考えています。

これらの要件を満たすには、Simple Log Service のデータ変換機能およびクエリと分析機能をご利用ください。

  • 元のログ

    __source__:127.0.0.0
    __tag__:__receive_time__: 1589541467
    ip:10.0.0.0
    request_method: GET
    user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
  • ディストリビューション要件

    • Windows ユーザーからのリクエスト情報を、ストレージターゲット target1 の Logstore1 へディストリビューション・保存します。

    • iOS ユーザーからのリクエスト情報を、ストレージターゲット target2 の Logstore2 へディストリビューション・保存します。

    • Android ユーザーからのリクエスト情報を、ストレージターゲット target3 の Logstore3 へディストリビューション・保存します。

  • 変換ルール

    本例では、ua_parse_os 関数を使用して user_agent フィールドを解析し、dct_get 関数を使用してリクエストヘッダーからオペレーティングシステム情報を取得します。次に、e_set 関数を使用して、オペレーティングシステム情報を含む os フィールドを追加します。最後に、e_output 関数および条件関数を用いて動的ディストリビューションを行います。

    e_set("os", dct_get(ua_parse_os(v("user_agent")),"family"))
    e_if(e_search("os==Windows"),e_output(name="target1"))
    e_if(e_search("os=iOS"),e_output(name="target2"))
    e_if(e_search("os==Android"),e_output(name="target3"))
  • ストレージターゲット

    データ変換ジョブの作成 パネルで、ストレージターゲットを構成できます。詳細については、「データ変換ジョブの作成」をご参照ください。

    默认存储目标

    ラベル

    ストレージターゲット

    送信先プロジェクトおよび Logstore

    1

    target0

    Project0 および LogStore0

    2

    target1

    Project1, Logstore1

    3

    target2

    Project2, Logstore2

    4

    target3

    Project3, Logstore3

  • クエリと分析

    送信先 Logstore でクエリと分析操作を実行し、広告コンバージョン率を算出します。以下のクエリ結果は、Android ユーザーの広告コンバージョン率がより高いことを示しています。詳細については、「クエリと分析のクイックスタート」をご参照ください。

    • Logstore2 のクエリと分析ページで、次のクエリ文を入力して、iOS ユーザーからの GET および POST リクエストの比率を確認できます。

      * | SELECT Request_method, COUNT(*) as number GROUP BY Request_method

      查询分析

    • Logstore3 のクエリと分析ページで、次のクエリ文を入力して、Android ユーザーからの GET および POST リクエストの比率を確認できます。

      * | SELECT Request_method, COUNT(*) as number GROUP BY Request_method

      查询分析