本文网站访问日志为例,为您介绍完整的数据加工流程,帮助您快速熟悉数据加工功能及其操作。

前提条件

  • 已创建名为web-project的Project。具体操作,请参见创建Project
  • 在Project(web-project)中创建名为website_log的源Logstore。具体操作,请参见创建Logstore
  • 已采集网站访问日志到源Logstore(website_log)。具体操作,请参见数据采集
  • 在Project(web-project)中创建目标Logstore,具体说明如下:
    目标Logstore 说明
    website-success 将访问成功的日志存储到存储目标target-success对应的Logstore(website-success)中。
    website-fail 将访问失败的日志存储到存储目标target-fail对应的Logstore(website-fail)中。
    website-etl 将其他访问日志存储到存储目标target0对应的Logstore(website-etl)中。
  • 如果您使用的是RAM用户,则需要先授予RAM用户数据加工操作权限。具体操作,请参见授予RAM用户数据加工操作权限
  • 已配置源Logstore和目标Logstore的索引。具体操作,请参见配置索引

    数据加工任务不依赖索引,但不配置索引,你无法执行查询和分析操作。

背景信息

某网站将其所有的访问日志存储在一个Logstore中,现希望为访问成功的日志和访问失败的日志设置不同的日志主题,并分发到不同的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:DELETE
request_uri:/request/path-1/file-5
status:207
time_local:10/Jun/2021:19:10:59

步骤一:创建数据加工任务

  1. 登录日志服务控制台
  2. 进入数据加工页面。
    1. 在Project列表区域,单击目标Project。
    2. 日志存储 > 日志库页签中,单击目标Logstore。
    3. 在查询和分析页面,单击数据加工
  3. 在页面右上角,选择数据的时间范围。
    请确保在原始日志页签中有日志数据。
  4. 在编辑框中,输入加工语句。
    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

  5. 预览数据。
    1. 单击快速
      日志服务支持快速预览和高级预览。更多信息,请参见预览调试
    2. 单击预览数据
      查看预览结果。
      说明 预览时不会输出日志到目标Logstore中,而是输出到名为internal-etl-log的Logstore中。internal-etl-log Logstore是您首次执行数据加工预览时,系统在当前Project下自动创建的专属Logstore,不支持修改配置及写入其他数据,不收取任何费用。
      预览结果
  6. 创建数据加工任务。
    1. 单击保存数据加工
    2. 创建数据加工规则面板,配置如下参数。
      保存加工配置
      参数 说明
      规则名称 数据加工规则的名称。
      授权方式 您可以通过如下方式授予日志服务读取源Logstore中数据的权限。
      • 默认角色:授予数据加工任务使用阿里云系统角色AliyunLogETLRole来读取源Logstore中的数据。

        单击授权系统角色AliyunLogETLRole,根据页面提示完成授权。更多信息,请参见通过默认角色访问数据

        说明
        • 如果您使用的是RAM用户,需要由阿里云账号先完成授权。
        • 已完成授权的阿里云账号,无需再次授权。
      • 自定义角色:授予数据加工任务使用自定义角色来读取源Logstore中的数据。

        您需先授予自定义角色读取源Logstore数据的权限,然后在角色ARN中输入您自定义角色的ARN。如何授权,请参见通过自定义角色访问数据

      • 密钥:授予数据加工任务使用阿里云账号或RAM用户的访问密钥来读取源Logstore中的数据。
        • 阿里云账号:阿里云账号的访问密钥具备源Logstore数据读取权限,您在AccessKey IDAccessKey Secret中输入阿里云账号的访问密钥即可。如何获取访问密钥,请参见访问密钥
        • RAM用户:您需先授予RAM用户读取源Logstore数据的权限,然后在AccessKey IDAccessKey Secret中输入RAM用户的访问密钥。如何授权,请参见通过访问密钥访问数据
      存储目标
      目标名称 存储目标的名称。存储目标中包括Project、Logstore等配置。
      需与步骤4中所配置的name一致。
      说明 日志服务默认以序号1中配置的存储目标(本案例中为target0)为默认存储目标,用来存储其他未符合条件的日志。
      目标Region 选择目标Project所在地域。

      跨地域数据加工使用HTTPS协议传输,确保日志数据的私密性。

      跨地域数据加工使用公网传输数据,可能因为公网传输网络的不确定性导致加工任务出现延迟。您可以选中DCDN加速复选框,加快跨地域传输速度。在使用DCDN加速时,需确保对应的Project已开启加速功能。更多信息,请参见步骤一:开启全球加速服务

      说明 跨地域数据加工按公网流量(压缩后)计费。更多信息,请参见计费项
      目标Project 用于存储数据加工结果的目标Project名称。
      目标库 用于存储数据加工结果的目标Logstore名称。
      授权方式 您可以通过如下方式授予日志服务读写目标Logstore的权限。
      • 默认角色:授予日志服务使用阿里云系统角色AliyunLogETLRole将数据加工结果写入目标Logstore。
        单击授权系统角色AliyunLogETLRole,根据页面提示完成授权。更多信息,请参见通过默认角色访问数据
        说明
        • 如果您使用的是RAM用户,需要由阿里云账号先完成授权。
        • 已完成授权的阿里云账号,无需再次授权。
      • 自定义角色:授予数据加工任务使用自定义角色将数据加工结果写入目标Logstore。

        您需先授予自定义角色写数据到目标Logstore的权限,然后在角色ARN中输入您自定义角色的ARN。如何授权,请参见通过自定义角色访问数据

      • 密钥:授予数据加工任务使用阿里云账号或RAM用户的访问密钥将数据加工结果写入目标Logstore。
        • 阿里云账号:阿里云账号的访问密钥具备写数据到目标Logstore的权限,您在AccessKey IDAccessKey Secret中输入阿里云账号的访问密钥即可。如何获取访问密钥,请参见访问密钥
        • RAM用户:您需先授予RAM用户写数据到源Logstore的权限,然后在AccessKey IDAccessKey Secret中输入RAM用户的访问密钥。如何授权,请参见通过访问密钥访问数据
      加工范围
      时间范围 指定数据加工任务的时间范围,详细说明如下:
      说明 此处的时间范围依赖日志的接收时间。
      • 所有:从Logstore接收到第一条日志的时间点开始数据加工任务,直到加工任务被手动停止。
      • 某时间开始:指定数据加工任务的开始时间,从该时间点开始加工,直到加工任务被手动停止。
      • 特定时间范围:指定数据加工任务的起止时间,加工任务执行到指定时间后自动停止。
    3. 单击确定

将日志分发到目标Logstore后,您可以在目标Logstore中执行查询和分析操作。具体操作,请参见查询和分析日志

步骤二:查看数据加工任务

  1. 在左侧导航栏中,选择作业 > 数据加工
  2. 在数据加工任务列表中,单击目标数据加工任务。
  3. 数据加工概览页面,查看数据加工任务详情。

    您可以查看任务详情与状态,修改、启动、停止和删除任务等。具体操作,请参见管理数据加工任务

    加工任务