审计开关
audit_enabled
参数说明:控制审计线程的开启和关闭。审计线程开启后,将从管道读取后台线程写入的审计信息,并写入审计文件。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示启动审计功能。
- off:表示关闭审计功能。
默认值:on
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
audit_directory
参数说明:审计文件的存储目录。可以是相对于数据目录data的相对路径,也可以是绝对路径,仅sysadmin用户可以访问。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串
默认值:pg_audit。如果使用om工具部署集群,则审计日志路径为“$GAUSSLOG/pg_audit/实例名称”。
- 不同的CN或DN实例需要设置不同的审计文件存储目录,否则会导致审计日志异常。
- 当配置文件中audit_directory的值为非法路径时,会导致审计功能无法使用。
- 合法路径:用户对此路径有读写权限。
- 非法路径:用户对此路径无读写权限。
audit_data_format
参数说明:审计日志文件的格式。当前仅支持二进制格式,仅sysadmin用户可以访问。
该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
取值范围:字符串
默认值:binary
audit_rotation_interval
参数说明:指定创建一个新审计日志文件的时间间隔。当现在的时间减去上次创建一个审计日志的时间超过了此参数值时,服务器将生成一个新的审计日志文件。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,1~35791394,单位为min。
默认值:1d
请不要随意调整此参数,否侧可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。
audit_rotation_size
参数说明:指定审计日志文件的最大容量。当审计日志消息的总量超过此参数值时,服务器将生成一个新的审计日志文件。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,1024~1048576,单位为KB。
默认值:10MB
- 请不要随意调整此参数,否侧可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。
- 审计日志文件中记录的单条日志占用空间大小超过此参数值时会被作为无效日志文件。
audit_resource_policy
参数说明:控制审计日志的保存策略,以空间还是时间限制为优先策略。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示采用空间优先策略,最多存储audit_space_limit大小的日志。
- off表示采用时间优先策略,最少存储audit_file_remain_time长度时间的日志。
默认值:on
audit_file_remain_time
参数说明:表示需记录审计日志的最短时间要求,该参数在audit_resource_policy为off时生效。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,0~730,单位为day,0表示无时间限制。
默认值:90
audit_space_limit
参数说明:审计文件占用的磁盘空间总量。
参数类型:整型
参数单位:KB
取值范围:1024KB~1024GB
默认值:1GB
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
- 此参数的生效范围是pg_audit目录下的单个进程实例文件夹。即默认情况下,每一个CN、DN目录审计文件占用磁盘空间总量是1GB。
- 多审计线程场景下,审计文件占用的磁盘空间最小值是audit_thread_num与audit_rotation_size的乘积,请保证audit_space_limit的值大于audit_thread_num与audit_rotation_size的乘积。
audit_file_remain_threshold
参数说明:审计目录下审计文件个数的最大值。
参数类型:整型
参数单位:个
取值范围:100 ~ 1048576
默认值:1048576
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:建议设置为默认值。详情请参考以下须知。
- 请尽量保证此参数为1048576,并不要随意调整此参数,否则可能会导致audit_resource_policy无法生效,如果需要控制审计日志的存储空间和时间,请使用audit_resource_policy、audit_space_limit和audit_file_remain_time参数进行控制。
- 多审计线程场景下不建议调整此参数,请保证此参数不小于审计线程个数audit_thread_num,否则会导致审计功能无法正常使用与数据库异常。
audit_thread_num
参数说明:该参数表明用于审计的线程个数。
参数类型:整型
参数单位:个(表示线程数量)
取值范围:1~48
默认值:1
设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。
- 对性能的影响:线程数量设置越多,对系统性能的影响越大。
- 对资源占用的影响:线程数量设置越多,占用的系统CPU和I/O越多。
当audit_dml_state开关打开且在高性能场景下,建议增大此参数保证审计消息可以被及时处理和记录。