使用EMR Event Listener获取基础的审计日志

社区版Trino不提供审计日志,您可以通过自行编写Event Listener的方式获取审计日志。EMR-3.46.0及后续版本、EMR-5.12.0及后续版本,EMR Trino提供了一个基础的审计日志,能够获取查询的QueryId、Catalog、Schema、执行用户、创建时间、SQL语句等信息。本文为您介绍如何开启EMR Event Listener和查看审计日志。

使用限制

仅EMR-3.46.0及后续版本、EMR-5.12.0及后续版本,支持使用EMR Event Listener获取基础的审计日志。

注意事项

  • 开启审计日志对性能有轻微影响,如果您对查询速度有极致的追求,请不要开启此功能。

  • 当集群的业务较为繁忙时,日志保存时间过长可能会占用较大磁盘空间,请您合理规划。

  • 审计日志只能打印查询开始的时间,无法打印查询持续时间与结束时间。

开启Event Listener

  1. 进入集群服务页面。

    1. 登录EMR on ECS控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. 单击目标集群操作列的集群服务

  2. 开启Event Listener。

    1. 集群服务页面,单击Trino服务区域的状态

    2. 服务概述区域,打开EmrEventListener开关。

    3. 在弹出的对话框中,单击确定

  3. 重启Trino。

    1. 状态页面,选择右上角的更多操作>重启

    2. 在弹出的对话中,输入执行原因,单击确定

    3. 确认对话中,单击确定

查看审计日志

开启Event Listener后,您可以执行几条查询,然后查看审计日志。

审计日志默认存储在/mnt/disk1/log/trino/var/log/trino-audit.log中,格式为QueryId: xxx; Catalog: xxx; Schema: xxx; User: xxx; Query Created Time: xxx; SQL: xxx,如下图所示。image..png

每天凌晨,前一天的审计日志将被转储到相同路径下的一个新文件中,文件名称格式为trino-audit_{日期}.log。

相关配置

EMR Event Listener默认支持通过修改配置的方式,在一定程度上控制审计日志的行为。您可以在Trino配置页面的emr-event-listener.properties中修改或新增配置项,默认仅显示前两个配置项。如果需要修改其他配置,请新增配置项,详情请参见管理配置项

重要

修改完配置后,需重启TrinoMaster,使配置生效。

参数名

默认值

说明

event-listener.name

trino-emr-event-listener

event listener名称,请勿修改。

audit.file.path

/mnt/disk1/log/trino/var/log/trino-audit.log

审计日志保存路径。

audit.file.failure.path

失败查询保存路径。

默认不会单独输出失败查询的日志。当此配置值非空且为一个合法的文件路径时,对执行失败的查询,查询失败时间、报错信息等更多内容将被打印到该文件中。

audit.file.plan.enabled

false

当audit.file.failure.path不为空时,失败查询的审计日志打印执行计划。

重要

开启该参数后,审计日志的可读性会变差,请谨慎选择。

audit.file.store.time

7

审计日志保存时长,单位为天。超出时长的审计日志将被清理。