通过操作审计创建跟踪,可以持续将事件投递到指定的OSS存储空间中。您可以使用数据湖分析DLA(Data Lake Analytics)可视化地查询和分析OSS存储空间中的事件。
前提条件
背景信息
DLA是一款基于Serverless的交互式数据查询分析服务,能够便捷的对不同格式的数据源进行整合并使用统一SQL查询分析。更多信息,请参见什么是云原生数据湖分析。
使用DLA分析OSS中事件的原理如下:
通过操作审计创建跟踪,将事件持续投递到OSS存储空间。
将事件从OSS存储空间导入DLA。
DLA将OSS存储空间内以Array形式保存的多条日志记录拆分为多条数据,以JSON保存的每条事件转换为结构化的数据表,使得面向OSS存储空间的数据解析被大大简化,直接实现可视化的标准SQL分析。
DLA不支持分析SLS中的事件,您可以使用SLS分析功能分析事件。
操作步骤
在DLA中创建Schema。
登录数据湖分析管理控制台。
在页面左上角,选择与OSS所在地域一致的DLA地域。
在左侧导航栏,选择 。
在数据入湖页面,单击更多,然后单击ActionTrail日志清洗右侧的进入向导。
在ActionTrail日志清洗页面,根据控制台提示进行配置。
配置项
说明
ActionTrail文件根目录
操作审计投递到OSS中日志数据的存储目录。目录以
AliyunLogs/Actiontrail
结尾。选择位置:自定义操作审计投递到OSS中的事件的存储目录。
自动发现:DLA自动设置操作审计投递到OSS中的事件的存储目录。
Schema名称
OSS在DLA中的映射数据库名称。
清洗后数据保存位置
DLA清洗OSS数据后,将结果数据写入OSS,即数据清洗后的存储位置。
不勾选自定义:DLA默认指定存储位置。
勾选自定义:支持您自定义存储位置。
数据清洗时间
DLA每天清洗OSS数据的时间。
系统默认的数据清洗时间是00:30。您可以根据业务规律,将数据清洗时间设置在业务低峰期,以免清洗过程中对业务造成影响。
单击创建。
将操作审计投递到OSS存储空间中的日志数据同步到DLA中。
在ActionTrail日志清洗页面,单击立即同步。
选择 ,然后单击目标Schema名操作列的库表详情。
在元数据管理页面,单击表页签查看同步情况。
关于Schema表结构的更多信息,请参见Schema表结构。
使用标准SQL语法分析操作审计日志数据。
在左侧导航栏,选择 。
找到待分析的数据库,双击切换到当前数据库。
输入查询语句,单击同步执行,系统自动生成执行结果。
查询案例
查询指定AccessKey的事件
查询语句:
select * from `action_trail` where `user_identity_access_key_id` = '目标AccessKey ID' limit 20;
。查询结果:前20条目标AccessKey ID产生的事件。
查询指定AccessKey访问ECS的事件
查询语句:
select * from `action_trail` where `user_identity_access_key_id` = '目标AccessKey ID' AND `service_name` = 'Ecs' limit 20;
。查询结果:前20条目标AccessKey ID访问ECS产生的事件。
Schema表结构
Schema表包含以下关键字段。
名称 | 类型 | 是否必选 | 示例 | 描述 |
event_id | String | 是 | F23A3DD5-7842-4EF9-9DA1-3776396A**** | 事件ID。操作审计为每个事件所产生的一个GUID。 |
event_name | String | 是 | CreateNetworkInterface | 事件名称。
|
event_source | String | 是 | ecs.aliyuncs.com | 事件来源。 |
event_time | String | 是 | 2020-01-09T12:12:14Z | 事件的发生时间(UTC格式)。 |
event_type | String | 是 | ApiCall | 发生的事件类型。取值:
|
request_parameters | 字典 | 否 | 不涉及 | API请求的输入参数。 |
response_elements | 字典 | 否 | 不涉及 | API响应的数据。 |
service_name | String | 是 | Ecs | 事件相关的云服务名称。 |
source_ip_address | String | 是 | 11.32.XX.XX | 事件发起的源IP地址。 说明 如果API请求是由用户通过控制台操作触发的,那么该字段记录的是用户浏览器端的IP地址,而不是控制台Web服务器的IP地址。 |
user_agent | String | 是 | Apache-HttpClient/4.5.7 (Java/1.8.0_152) | 发送API请求的客户端代理标识。取值示例:
|
user_identity_type | String | 是 | ram-user | 身份类型。当前支持的身份类型包括:
|
user_identity_principal_id | String | 是 | 28815334868278**** | 当前请求者的ID,需结合user_identity_type来唯一确认请求者身份。
|
user_identity_account_id | String | 是 | 112233445566**** | 当前请求身份所属的阿里云账号ID。 |
user_identity_accessKey_id | String | 否 | 55nCtAwmPLkk**** |
|
user_name | String | 否 | Alice | 当前请求者的身份名称。
|
常见问题
相关文档
- 本页导读 (1)