为了有效地管理和分析OSS-HDFS服务的审计日志,您需要将审计日志导入日志服务SLS,然后通过SLS内置的查询分析能力对收集的审计日志进行分析,获取OSS-HDFS服务不同时间段内的访问量变化,分析频繁访问的数据、检测异常访问行为等信息。本教程用于演示如何通过SLS分析OSS-HDFS服务热点访问数据。
前提条件
-
您需要创建2个Logstore,分别用于存放OSS-HDFS原始审计日志数据,以及审计日志数据加工结果。
操作步骤
步骤1:将OSS-HDFS服务审计日志文件导入日志服务
-
在日志服务控制台的OSS-数据导入页面的选择日志空间页签,选择已创建的Project和Logstore(用于存放OSS-HDFS原始审计日志数据),然后单击下一步。
-
在导入配置页签,按要求配置以下参数,其他参数保留默认配置。
参数
说明
OSS区域
选择已开通OSS-HDFS服务的Bucket所在地域。
Bucket
选择已开通OSS-HDFS服务的Bucket名称。
文件路径前缀过滤
填写OSS-HDFS服务审计日志文件路径,示例值为
.dlsdata/.sysinfo/auditlog-v2/2024-11-26/2024-11-26-00-00-04.auditlog。关于审计日志的各字段含义说明,请参见字段说明。从OSS控制台文件列表页面的OSS文件页签获取OSS-HDFS服务审计日志文件路径。
数据格式
选中单行文本日志。
-
单击预览,预览导入结果。确认无误后,单击下一步。
-
完成导入后,单击查询日志,进入查询和分析页面,确认是否成功导入OSS数据。
等待1分钟左右,如果有目标OSS数据导入,则说明导入成功。导入成功后,可以看到如下原始日志。
原始日志中每条记录包含以下关键字段:
content(包含时间戳)、allowed(如true)、ugi(如admin (auth:UNKNOWN))、cmd(如getfileinfo src=/user/root/.Trash)、ip、dst、perm以及proto(如rest)。
步骤2:对导入Logstore的OSS-HDFS服务审计日志进行数据加工
-
预览数据加工结果。
-
单击用于存放OSS-HDFS原始审计日志数据的Logstore右侧的数据加工。
-
在页面右上角,选择数据的时间范围。
-
在编辑框中,输入以下SPL语句。
SPL语法请参见SPL语法。
* | parse-regexp content, '(\d+-\d+-\d+\s\d+:\d+:\S+\s).*' as tm | parse-kv -regexp content, '(\w+)=([^\t]*)' | extend bucket=__source__ -
将部分原始日志加入测试数据,验证解析结果。
在数据加工页面编辑区输入DSL语句:使用
parse-regexp提取时间字段tm,使用parse-kv以正则方式解析content字段中的键值对,使用extend bucket=__source__扩展字段。选中第2-3行语句后,切换到原始日志页签可预览HDFS审计日志,日志条目包含__source__、__tag__:__object__、content等字段,其中content包含allowed=true、ugi=admin、cmd=getfileinfo、src=/user/root/.Trash等键值对。 -
点击
按钮,执行调试运行。 -
运行完成后查看加工结果,解析后的格式化数据参考如下。
格式化数据包含
allowed、bucket、cmd、content、dst、ip、perm、proto、src、tm、ugi等键值对字段,例如cmd值为getfileinfo、proto值为rest、src值为/user/root/.Trash、ugi值为admin (auth:UNKNOWN)等。
-
-
保存数据加工结果。
-
单击保存数据加工(新版)。
-
在创建数据加工任务(新版)面板中,按要求配置以下参数,其他参数保留默认配置,然后单击确定。
将显示名称设置为
oss-hdfs-audit-log,授权方式选择默认角色。在存储目标区域,将目标名称设置为oss-hdfs-audit-log,目标Region选择华东1(杭州),目标Project和目标库分别选择目标Project和目标Logstore,授权方式选择默认角色。在加工范围(数据接收时间)区域,时间范围选择所有。
-
步骤3:分析OSS-HDFS服务热点访问数据
-
进入用于保存数据加工结果的Logstore,单击右侧的开启索引。
-
在查询分析面板,单击自动生成索引>追加>确定。
说明开启后等待1min左右即可查询最新数据。
-
输入以下SQL语句,然后单击查询 / 分析。
说明src字段表示文件路径。通过统计src的请求访问次数评估热点数据访问量。
* | SELECT src,COUNT(*) AS count FROM log GROUP BY src ORDER BY count DESC -
查看热点访问数据路径。
在SLS查询分析页面执行SQL语句
SELECT src, COUNT(*) AS count FROM log GROUP BY src ORDER BY count DESC,按源路径分组统计访问次数并降序排列。查询结果显示热点访问路径,例如/user/root/.Trash访问次数最多为1268次。
相关文档
-
SLS支持导入OSS Bucket中的日志文件,方便后续日志查询和分析。更多信息,请参见导入OSS数据。
-
SLS支持基于SPL规则消费源Logstore中的数据,并将SPL规则处理结果写入到的目标Logstore中。您也可以对加工后的数据进行查询和分析,进一步发掘数据价值。更多信息,请参见创建数据加工(新版)任务。
-
对采集到SLS Logstore中的日志进行查询和分析,需要创建索引。更多信息,请参见创建索引。
-
SLS支持使用SQL语句对查询结果进行分析。更多信息,请参见SQL分析语法与功能。