日志审计

更新时间:2025-04-03 08:23:27

PolarDB PostgreSQL轻量版提供审计日志,允许数据库管理员使用审计日志跟踪分析数据库活动。

日志打印

PolarDB PostgreSQL轻量版的日志文件默认分为以下3类:

  • 审计日志(_audit.log):默认记录所有执行的SQL语句(log_statement='all')。

  • 慢日志(_slow.log):记录执行时间超过log_min_duration_statement控制(单位毫秒)的SQL语句。

  • 错误日志(_error.log):记录执行错误的SQL和系统报错信息。

日志处理机制

PolarDB PostgreSQL轻量版的执行进程将相关日志发送至syslogger进程进行打印。鉴于单个syslogger进程存在性能限制,PolarDB支持配置多个syslogger进程打印日志。在多个syslogger进程中,第一个进程(logger 0)负责错误日志和慢日志的打印,其它进程(logger 1logger 2等)负责打印审计日志。每个负责审计日志的syslogger进程负责打印一个日志文件,如果存在多个审计日志进程,将出现多个并行打印的审计日志文件,日志文件名后缀由syslogger的下标加上文件名后缀构成,例如,多个进程并行执行时,logger 1进程打印的审计日志后缀将为 _1_audit.log

日志审计参数设置

除基础的日志打印参数外,PolarDB PostgreSQL轻量版还支持以下审计日志相关参数。

参数名称

描述

参数名称

描述

polar_enable_multi_syslogger

是否启用多个syslogger进程写日志。默认开启。进程个数由polar_num_of_sysloggers控制。如果开启多个syslogger进程写日志,且进程个数大于1,则第一个进程(logger 0)负责错误日志和慢日志的打印,其它进程(logger 1logger 2等)负责打印审计日志。

polar_num_of_sysloggers

启用多个syslogger进程写日志时的进程个数。默认为2。设置syslogger进程个数越大,审计日志打印性能越好,同时也会消耗集群资源,请按需配置。

说明

此参数仅支持在配置文件中设置。

polar_enable_syslog_pipe_buffer

是否启用backend进程缓冲区。默认开启,即审计日志将在polar_audit_log_flush_timeout控制时间或缓冲区空间限制(默认65536字节)内缓存于backend进程的缓冲区,满足单一条件后批量发送给syslogger进程。如果关闭,审计日志将在每次SQL执行完后直接发送给syslogger进程。

polar_enable_syslog_file_buffer

是否启用syslogger进程缓冲区,默认关闭。如果开启,审计日志将在写入文件前放在缓冲区中,直到缓冲区满后写入日志文件。

polar_audit_log_flush_timeout

设置审计日志的超时下刷时间,默认10秒。如果审计日志没有写满backend进程上的缓冲区,则在当前参数设置的时间值后自动将缓冲区中的日志数据传给syslogger进程。

polar_auditlog_max_query_length

设置打印日志的截断长度。默认为4096字节,最大值为65536字节。超过此选项长度的日志将被截断,可动态设置。

polar_enable_error_to_audit_log

是否将执行出错的SQL记入审计日志。默认开启,即在审计日志中记录执行错误的SQL及其报错信息。

polar_max_log_files

设置错误日志的最大保留文件个数,默认20。

polar_max_auditlog_files

设置审计日志的最大保留文件个数,默认20。

polar_max_slowlog_files

设置慢日志的最大保留文件个数,默认20。

log_connections

记录连接用户及数据库。

log_disconnections

记录连接时长。

审计日志内容

审计日志包括以下内容:

  • 时间戳:由参数log_line_prefix定义,默认值%m [%p]

  • 日志内容:包含执行时长、SQL内容及SQL参数。

示例

2020-07-30 08:36:08.042 UTC [19626] LOG:  execute P0_7: UPDATE pgbench_tellers SET tbalance = tbalance + $1 WHERE tid = $2;params: $1 = '-203', $2 = '86'
  • 本页导读 (1)
  • 日志打印
  • 日志审计参数设置
  • 审计日志内容
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等