文档

快速入门

更新时间:

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

准备工作

  • 已创建名为web-project的Project。具体操作,请参见管理Project

  • 在Project(web-project)中创建名为website_log的源Logstore。具体操作,请参见管理Logstore

  • 已采集网站访问日志到源Logstore(website_log)。具体操作,请参见数据采集概述

  • 在Project(web-project)中创建目标Logstore(website_fail)。

  • 如果您使用的是RAM用户,则需要先授予RAM用户数据加工操作权限。具体操作,请参见授予RAM用户数据加工操作权限

  • 已配置源Logstore和目标Logstore的索引。具体操作,请参见创建索引

说明

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

背景信息

某网站将其所有的访问日志存储在Logstore(website_log)中,目前为了提升用户体验,需要对用户访问错误进行分析。所以,需求是将访问状态码为4XX的访问日志筛选出来,同时过滤掉访问的用户个人信息,并将结果写入新的Logstore(website_fail),提供给业务分析人员使用。日志样例如下:

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: GET
request_uri: /request/path-1/file-5
status: 400
time_local: 10/Jun/2021:19:10:59
error: Invalid time range

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

  1. 登录日志服务控制台

  2. 进入数据加工页面。

    1. 在Project列表区域,单击目标Project。

    2. 日志存储 > 日志库页签中,单击目标Logstore。

    3. 在查询与分析页面,单击数据加工

  3. 在页面右上角,选择数据的时间范围。

    选择时间范围后,请确认原始日志页签中存在日志。

  4. 在编辑框中,输入如下加工SPL规则。

    *
    | extend status=cast(status as BIGINT)
    | where status>=0 AND status<500
    | project-away remote_addr, remote_user
    
  5. 调试SPL规则。

    1. 原始数据中选择测试数据,或者手动填入测试数据。image.png

    2. 点击,执行调试运行。

    3. 查看预览结果。image.png

  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等配置。

    目标Region

    选择目标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的SPL规则处理结果集。支持__UNNAMED__,表示所有未命名的结果集。

    加工范围

    时间范围

    (数据接收时间)

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

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

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

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

    高级选项

    高级参数配置

    对于加工语句中需要使用的密码信息(例如数据库连接密码),日志服务支持使用键值对形式保存在密钥对中,即您可以在加工语句中通过res_local("key")进行引用。

    单击+,可添加多个键值对。例如config.vpc.vpc_id.test1:vpc-uf6mskb0b****n9yj,表示RDS实例所属的专有网络ID。高级参数配置

  7. 进入目标Logstore(website_fail),执行查询和分析操作。具体操作,请参见查询和分析日志

步骤二:观测数据加工任务

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

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

  3. 数据加工概览(新版)页面,查看数据加工任务详情。您可以查看任务详情与状态,修改、启动、停止和删除任务等。具体操作,请参见管理数据加工(新版)任务。也可以观测任务运行状态和运行指标,具体操作,请参见观测与监控数据加工(新版)任务