社区版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
进入集群服务页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
单击目标集群操作列的集群服务。
开启Event Listener。
在集群服务页面,单击Trino服务区域的状态。
在服务概述区域,打开EmrEventListener开关。
在弹出的对话框中,单击确定。
重启Trino。
在状态页面,选择右上角的更多操作>重启。
在弹出的对话中,输入执行原因,单击确定。
在确认对话中,单击确定。
查看审计日志
开启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
,如下图所示。
每天凌晨,前一天的审计日志将被转储到相同路径下的一个新文件中,文件名称格式为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 | 审计日志保存时长,单位为天。超出时长的审计日志将被清理。 |