数据加工快速入门

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

前提条件

  • 已创建名为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. 创建数据加工任务面板,配置如下参数。

      image.png

      参数

      说明

      任务名称

      数据加工任务的名称。

      授权方式

      您可以通过如下方式授予数据加工任务读取源Logstore中数据的权限。

      • 默认角色:授予数据加工任务使用阿里云系统角色AliyunLogETLRole来读取源Logstore中的数据。

      • 自定义角色:授予数据加工任务使用自定义角色来读取源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。

      • 自定义角色:授予数据加工任务使用自定义角色将数据加工结果写入目标Logstore。

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

      • 密钥:授予数据加工任务使用阿里云账号或RAM用户的访问密钥将数据加工结果写入目标Logstore。

        • 阿里云账号:阿里云账号的访问密钥具备写数据到目标Logstore的权限,您在AccessKey IDAccessKey Secret中输入阿里云账号的访问密钥即可。如何获取访问密钥,请参见访问密钥

        • RAM用户:您需先授予RAM用户写数据到目标Logstore的权限,然后在AccessKey IDAccessKey Secret中输入RAM用户的访问密钥。如何授权,请参见通过访问密钥访问数据

      加工范围

      时间范围

      指定数据加工任务的时间范围,详细说明如下:

      说明

      此处的时间范围依赖日志的接收时间。

      • 所有:从Logstore接收到第一条日志的时间点开始数据加工任务,直到加工任务被手动停止。

      • 某时间开始:指定数据加工任务的开始时间,从该时间点开始加工,直到加工任务被手动停止。

      • 特定时间范围:指定数据加工任务的起止时间,加工任务执行到指定时间后自动停止。

    3. 单击确定

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

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

  1. 在左侧导航栏中,选择任务管理 > 数据加工

  2. 在数据加工任务列表中,单击目标数据加工任务。

  3. 数据加工概览页面,查看数据加工任务详情。

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

    加工任务