日志服务通过对每一个源Logstore配置一个数据加工任务,将多源Logstore汇总到一个目标Logstore。

说明 当前数据加工仅支持同Region下分发。
跨账号多源Logstore数据汇总示例如下:
  • 原始日志
    """
    账号1的logstore中的日志
    Prject区域:英国(伦敦)
    Project名称:Project_1
    logstore名称: Logstore_1
    """
    "日志1"
    request_id: 1
    http_host:  m1.abcd.com
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    
    "日志2"
    request_id: 2
    http_host:  m2.abcd.com
    http_status:  301
    request_method:  POST
    request_uri:  /data/data.php
    
    """
    账号2的logstore中的日志
    Prject区域:英国(伦敦)
    Project名称:Project_2
    logstore名称: Logstore_2
    """
    "日志1"
    request_id: 3
    host:  m3.abcd.com
    status:  404
    request_method:  GET
    request_uri:  /category/abc/product_id
    
    "日志2"
    request_id: 4
    host:  m4.abcd.com
    status:  200
    request_method:  GET
    request_uri:  /data/index.html
  • 汇总目标
    • 将账号1的Logstore_1和账号2的Logstore_2中所有http_status200的日志事件汇总到账号3的Logstore_3中。
    • 统一两个Logstore中日志事件的字段表达。将host 统一为http_hoststatus统一为http_status
  • LOG DSL规则
    • 在账号1的Logstore_1中配置如下加工规则。
      e_if(e_match("http_status", "200"), e_output("target_logstore"))
      并且在该加工规则的任务配置项中配置存储目标target_logstore为账号3的Logstore_3。加工规则
    • 在账号2的Logstore_2中配置如下加工规则。
      e_if(e_match("status", "200"), e_compose(e_rename("status", "http_status", "host", "http_host"), e_output("target_logstore")))
      参见账号1配置,在该加工规则的任务配置项中配置存储目标target_logstore为账号3的Logstore_3。
  • 加工结果
    """
    账号3的logstore中的日志
    Prject区域:英国(伦敦)
    Project名称:Project_3
    logstore名称: Logstore_3
    """
    "日志1"
    request_id: 1
    http_host:  m1.abcd.com
    http_status:  200
    request_method:  GET
    request_uri:  /pic/icon.jpg
    
    "日志2"
    request_id: 4
    http_host:  m4.abcd.com
    http_status:  200
    request_method:  GET
    request_uri:  /data/index.html