本文以网站访问日志为例,为您介绍完整的数据加工流程,帮助您快速熟悉数据加工功能及其操作。
前提条件
- 已创建名为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
步骤一:创建数据加工任务
- 登录日志服务控制台。
- 进入数据加工页面。
- 在Project列表区域,单击目标Project。
- 在 页签中,单击目标Logstore。
- 在查询和分析页面,单击数据加工。
- 在页面右上角,选择数据的时间范围。选择时间范围后,请确认原始日志页签中存在日志。
- 在编辑框中,输入加工语句。
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。
- 条件:
- 预览数据。
- 创建数据加工任务。
将日志分发到目标Logstore后,您可以在目标Logstore中执行查询和分析操作。具体操作,请参见查询和分析日志。
步骤二:查看数据加工任务
- 在左侧导航栏中,选择 。
- 在数据加工任务列表中,单击目标数据加工任务。
- 在数据加工概览页面,查看数据加工任务详情。
您可以查看任务详情与状态,修改、启动、停止和删除任务等。具体操作,请参见管理数据加工任务。