openGauss 日志体系
1 openGauss 日志体系
在之前的博客我们了解了openGauss的WAL 日志,如下:
OpenGauss WAL 日志 与 归档 配置
https://www.cndba.cn/dave/article/116488
实际上openGauss除了WAL 日志之外,还有其他的日志,openGauss中有如下日志类型:
- 系统日志:数据库系统进程运行时产生的日志,记录系统进程的异常信息。
- 操作日志:通过客户端工具(例如gs_guc)操作数据库时产生的日志。
- Trace日志:打开数据库的调试开关后,会记录大量的Trace日志。这些日志可以用来分析数据库的异常信息。
- 黑匣子日志:数据库系统崩溃的时候,通过故障现场堆、栈信息可以分析出故障发生时的进程上下文,方便故障定位。黑匣子具有在系统崩溃时,dump出进程和线程的堆、栈、寄存器信息的功能。
- 审计日志:开启数据库审计功能后,将数据库用户的某些操作记录在日志中,这些日志称为审计日志。
- WAL日志:又称为REDO日志,在数据库异常损坏时,可以利用WAL日志进行恢复。由于WAL日志的重要性,所以需要经常备份这些日志。
- 性能日志:数据库系统在运行时检测物理资源的运行状态的日志,在对外部资源进行访问时的性能日志,例如:磁盘、OBS等。
2 系统日志
openGauss运行时数据库节点以及openGauss安装部署时产生的日志统称为系统日志。
数据节点日志放在“/var/log/omm/omm/pg_log”;
CM 日志放在/var/log/omm/omm/cm 目录。
2.1 日志文件命名格式
2.1.1 数据库节点运行日志的命名规则
postgresql-创建时间.log
默认情况下,每日0点或者日志文件大于16MB或者数据库实例(数据库节点)重新启动后,会生成新的日志文件。
2.1.2 CM的运行日志的命名规则:
-
cm_agent的日志:
cm_agent-创建时间.log、cm_agent-创建时间-current.log、system_call-创建时间.log、system_call-创建时间-current.log。 -
cm_server的日志:
cm_server-创建时间.log、cm_server-创建时间-current.log;key_event-创建时间.log、key_event-创建时间-current.log。 -
om_monitor的日志:
om_monitor-创建时间.log、om_monitor-创建时间-current.log。
其中,不带current标识符的文件是历史日志文件,带current标识符的文件是当前日志文件。最初调用进程时,进程会先创建一个带current标识符的日志文件,当该日志文件的大小超过16MB时,会将当前日志文件重命名为历史日志文件,并以当前时间生成新的当前日志文件。
2.1.3 日志内容格式说明
-
数据库节点每一行日志内容的默认格式:
日期+时间+时区+用户名称+数据库名称+会话ID+日志级别+日志内容 -
cm_agent、cm_server、om_monitor每一行日志内容的默认格式:
时间+时区+会话ID+日志内容
SYSTEM_CALL系统调用日志记录了CM_AGENT在运行过程中调用工具命令的情况。
[dave@www.cndba.cn cm_server]$ pwd
/var/log/omm/omm/cm/cm_server
[dave@www.cndba.cn cm_server]$ ll
^
-r--------. 1 omm dbgrp 942722 4月 7 13:25 cm_server-2023-04-07_130911.log.gz
-rw-------. 1 omm dbgrp 6209962 4月 18 09:07 cm_server-2023-04-07_132134-current.log
-rw-------. 1 omm dbgrp 4418 4月 7 18:12 key_event-2023-04-07_105507-current.log
-rw-------. 1 omm dbgrp 0 4月 7 10:55 system_alarm-2023-04-07_105507-current.log
[dave@www.cndba.cn cm_server]$
cm_server 目录下的key_event每一行日志内容的默认格式: 时间+线程号+线程名: 关键事件类型+仲裁对象实例ID+仲裁细节。
2.2 查看日志
2.2.1 查看数据节点日志
[dave@www.cndba.cn omm]$ pwd
/var/log/omm/omm
[dave@www.cndba.cn omm]$ ll
总用量 8
drwx------. 3 omm dbgrp 31 4月 7 10:55 asp_data
drwx------. 11 omm dbgrp 151 4月 13 21:23 bin
drwx------. 7 omm dbgrp 82 4月 7 10:55 cm
drwx------ 2 omm dbgrp 4096 4月 18 09:21 ffic_log
drwx------. 3 omm dbgrp 4096 4月 19 08:22 gs_profile
drwx------. 3 omm dbgrp 31 4月 7 10:55 mem_log
drwx------. 2 omm dbgrp 201 4月 19 10:14 om
drwx------. 3 omm dbgrp 21 4月 7 10:54 pg_audit
drwx------. 3 omm dbgrp 21 4月 7 10:54 pg_log
drwx------. 3 omm dbgrp 31 4月 7 10:55 pg_perf
drwx------. 3 omm dbgrp 31 4月 7 10:55 sql_monitor
[dave@www.cndba.cn omm]$ cd pg_log/
[dave@www.cndba.cn pg_log]$ ll dn_6001/
总用量 17908
-r--------. 1 omm dbgrp 7229 4月 7 11:25 postgresql-2023-04-07_105509.log.gz
……
-r-------- 1 omm dbgrp 6661 4月 18 09:21 postgresql-2023-04-18_090418.log.gz
-r-------- 1 omm dbgrp 644532 4月 19 00:21 postgresql-2023-04-18_090517.log.gz
-rw------- 1 omm dbgrp 6951093 4月 19 10:15 postgresql-2023-04-19_000000.log
[dave@www.cndba.cn pg_log]$
[dave@www.cndba.cn dn_6001]$ pwd
/var/log/omm/omm/pg_log/dn_6001
[dave@www.cndba.cn dn_6001]$ tail -10 postgresql-2023-04-19_000000.log
2023-04-19 10:18:47.707 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469338, recycleXmin=468735, globalFrozenXid=402382, globalRecycleXid=468733, newRecycleXid=468735.
2023-04-19 10:18:50.739 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469340, recycleXmin=468737, globalFrozenXid=402382, globalRecycleXid=468735, newRecycleXid=468737.
2023-04-19 10:18:53.770 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469342, recycleXmin=468739, globalFrozenXid=402382, globalRecycleXid=468737, newRecycleXid=468739.
2023-04-19 10:18:56.802 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469344, recycleXmin=468741, globalFrozenXid=402382, globalRecycleXid=468739, newRecycleXid=468741.
2023-04-19 10:18:59.833 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469346, recycleXmin=468743, globalFrozenXid=402382, globalRecycleXid=468741, newRecycleXid=468743.
2023-04-19 10:19:02.879 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469348, recycleXmin=468745, globalFrozenXid=402382, globalRecycleXid=468743, newRecycleXid=468745.
2023-04-19 10:19:05.910 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469350, recycleXmin=468747, globalFrozenXid=402382, globalRecycleXid=468745, newRecycleXid=468747.
2023-04-19 10:19:08.939 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469352, recycleXmin=468749, globalFrozenXid=402382, globalRecycleXid=468747, newRecycleXid=468749.
2023-04-19 10:19:11.968 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469354, recycleXmin=468751, globalFrozenXid=402382, globalRecycleXid=468749, newRecycleXid=468751.
2023-04-19 10:19:14.996 643ded01.6132 [unknown] 139751382644480 dn_6001 0 dn_6001_6002_6003 00000 0 [UNDO] LOG: [UndoRecycleMain:750]update globalRecycleXid: oldestXmin=469356, recycleXmin=468753, globalFrozenXid=402382, globalRecycleXid=468751, newRecycleXid=468753.
[dave@www.cndba.cn dn_6001]$
2.2.2 查看CM 日志
[dave@www.cndba.cn cm_agent]$ pwd
/var/log/omm/omm/cm/cm_agent
[dave@www.cndba.cn cm_agent]$ ls
cm_agent-2023-04-07_105507.log.gz cm_agent-2023-04-14_134806.log.gz cm_agent-2023-04-16_155038.log.gz system_call-current.log
cm_agent-2023-04-07_123449.log.gz cm_agent-2023-04-15_020636.log.gz cm_agent-2023-04-17_042518-current.log
cm_agent-2023-04-13_125356.log.gz cm_agent-2023-04-15_144118.log.gz pg_log
cm_agent-2023-04-14_013118.log.gz cm_agent-2023-04-16_031554.log.gz system_alarm-2023-04-07_105507-current.log
[dave@www.cndba.cn cm_agent]$ ll
总用量 18000
-r--------. 1 omm dbgrp 661542 4月 7 12:55 cm_agent-2023-04-07_105507.log.gz
……
-r-------- 1 omm dbgrp 439325 4月 17 04:29 cm_agent-2023-04-16_155038.log.gz
-rw------- 1 omm dbgrp 11813421 4月 19 10:23 cm_agent-2023-04-17_042518-current.log
drwx------. 2 omm dbgrp 4096 4月 19 08:22 pg_log
-rw-------. 1 omm dbgrp 0 4月 7 10:55 system_alarm-2023-04-07_105507-current.log
-rw-------. 1 omm dbgrp 2140991 4月 18 09:04 system_call-current.log
[dave@www.cndba.cn cm_agent]$
[dave@www.cndba.cn cm_agent]$ tail -10 cm_agent-2023-04-17_042518-current.log
2023-04-19 10:22:01.518 tid=3566 LOG: Compress log directory.Directory Name=mem_log-,File Count=0
2023-04-19 10:22:01.518 tid=3566 LOG: removeLogFileByCapacity begin.
2023-04-19 10:22:01.522 tid=3566 LOG: Total size is before deleting.Threshold=10200547328,Total Size=72768372
2023-04-19 10:22:01.522 tid=3566 LOG: Total size is less than threshold,needn't deleting.Threshold=10200547328,Total Size=72768372
2023-04-19 10:22:01.522 tid=3566 LOG: removeLogFileBySavedTotality begin.
2023-04-19 10:22:01.526 tid=3566 LOG: Total number is less than threshold,needn't deleting.Threshold=7776000,CurrentCount=343,LOG_GUARD_COUNT=20000,log_max_count=10000
2023-04-19 10:22:29.218 tid=3551 main LOG: [MsgPool] usage: total_buf_count=0, freeCount=0, allocCount=0; total_buf_size=0, freeSize=0, allocSize=0, usage_rate=0%.
2023-04-19 10:23:29.582 tid=3551 main LOG: [MsgPool] usage: total_buf_count=0, freeCount=0, allocCount=0; total_buf_size=0, freeSize=0, allocSize=0, usage_rate=0%.
2023-04-19 10:24:29.906 tid=3551 main LOG: [MsgPool] usage: total_buf_count=0, freeCount=0, allocCount=0; total_buf_size=0, freeSize=0, allocSize=0, usage_rate=0%.
2023-04-19 10:25:30.204 tid=3551 main LOG: [MsgPool] usage: total_buf_count=0, freeCount=0, allocCount=0; total_buf_size=0, freeSize=0, allocSize=0, usage_rate=0%.
[dave@www.cndba.cn cm_agent]$
[dave@www.cndba.cn cm_server]$ pwd
/var/log/omm/omm/cm/cm_server
[dave@www.cndba.cn cm_server]$ tail -5 key_event-2023-04-07_105507-current.log
2023-04-07 18:11:52.307 tid=14111 CTL_WORKER: [KeyEvent: KEY_EVENT_RESTART] [Instance: 6003] [Details: [Primary], send restart message to instance(6003)]
2023-04-07 18:11:52.628 tid=14116 AGENT_WORKER: [KeyEvent: KEY_EVENT_RESTART] [Instance: 6002] [Details: [Primary], send restart message to instance(6002)]
2023-04-07 18:11:57.336 tid=14114 AGENT_WORKER: [KeyEvent: KEY_EVENT_NOTIFY_STANDBY] [Instance: 6003] [Details: send notify standby to instance(6003)]
2023-04-07 18:11:57.643 tid=14116 AGENT_WORKER: [KeyEvent: KEY_EVENT_NOTIFY_STANDBY] [Instance: 6002] [Details: send notify standby to instance(6002)]
2023-04-07 18:12:00.464 tid=14115 AGENT_WORKER: [KeyEvent: KEY_EVENT_FAILOVER] [Instance: 6001] [Details: Failover message has sent to instance 6001, term 207, sendFailoverTimes is 0.]
[dave@www.cndba.cn cm_server]$
3 操作日志
操作日志是指数据库管理员使用工具操作数据库时以及工具被openGauss调用时产生的日志。
默认在“$GAUSSLOG/bin”目录下,如果环境变量$GAUSSLOG不存在或者变量值为空,则工具日志信息不会记录到对应的工具日志文件中,日志信息只会打印到屏幕上。
[dave@www.cndba.cn cm_server]$ echo $GAUSSLOG
/var/log/omm/omm
[dave@www.cndba.cn cm_server]$
建议定时对过期的日志文件进行转储,以避免大量日志占用太多的磁盘空间和避免重要日志丢失。
3.1 日志文件命名格式
日志文件命名格式为:
- 历史日志:工具名-日志创建时间.log
- 当前日志:工具名-日志创建时间-current.log
如果日志大小超过16MB,在下一次调用该工具时,会重命名当前日志文件为历史日志文件,并以当前时间生成新的当前日志文件。
3.2 查看日志
[dave@www.cndba.cn bin]$ pwd
/var/log/omm/omm/bin
[dave@www.cndba.cn bin]$ ll
总用量 0
drwx------. 2 omm dbgrp 45 4月 7 10:50 gs_cgroup
drwx------. 2 omm dbgrp 50 4月 7 10:55 gs_ctl
drwx------ 2 omm dbgrp 51 4月 13 20:31 gs_dump
drwx------ 2 omm dbgrp 54 4月 13 21:23 gs_dumpall
drwx------. 2 omm dbgrp 54 4月 7 10:49 gs_encrypt
drwx------. 2 omm dbgrp 50 4月 7 10:54 gs_guc
drwx------. 2 omm dbgrp 53 4月 7 10:54 gs_initdb
drwx------. 2 omm dbgrp 84 4月 7 10:55 gs_obs
drwx------ 2 omm dbgrp 54 4月 13 21:10 gs_restore
[dave@www.cndba.cn bin]$
[dave@www.cndba.cn bin]$ pwd
/var/log/omm/omm/bin
[dave@www.cndba.cn bin]$ ll
总用量 0
drwx------. 2 omm dbgrp 45 4月 7 10:50 gs_cgroup
drwx------. 2 omm dbgrp 50 4月 7 10:55 gs_ctl
drwx------ 2 omm dbgrp 51 4月 13 20:31 gs_dump
drwx------ 2 omm dbgrp 54 4月 13 21:23 gs_dumpall
drwx------. 2 omm dbgrp 54 4月 7 10:49 gs_encrypt
drwx------. 2 omm dbgrp 50 4月 7 10:54 gs_guc
drwx------. 2 omm dbgrp 53 4月 7 10:54 gs_initdb
drwx------. 2 omm dbgrp 84 4月 7 10:55 gs_obs
drwx------ 2 omm dbgrp 54 4月 13 21:10 gs_restore
[dave@www.cndba.cn bin]$ cd gs_ctl
[dave@www.cndba.cn gs_ctl]$ ls
gs_ctl-2023-04-07_105537-current.log
[dave@www.cndba.cn gs_ctl]$ tail -5 gs_ctl-2023-04-07_105537-current.log
[2023-04-18 09:06:07.511][13583][][gs_ctl]: gs_ctl switchover ,datadir is /data/openGauss/install/data/dn
[2023-04-18 09:06:07.511][13583][][gs_ctl]: switchover term (1)
[2023-04-18 09:06:07.522][13583][][gs_ctl]: waiting for server to switchover.........
[2023-04-18 09:06:13.606][13583][][gs_ctl]: done
[2023-04-18 09:06:13.606][13583][][gs_ctl]: switchover completed (/data/openGauss/install/data/dn)
[dave@www.cndba.cn gs_ctl]$
4 审计日志
审计功能开启时会不断产生大量的审计日志,占用磁盘空间。用户可以根据磁盘空间的大小设置审计日志维护策略。
默认审计日志空间大小是1G,超过1G的会被删除:
openGauss=# SHOW audit_space_limit;
audit_space_limit
-------------------
1GB
(1 row)
[dave@www.cndba.cn:~]# cd /var/log/omm/omm/pg_audit/
[dave@www.cndba.cn:/var/log/omm/omm/pg_audit]# ll
总用量 0
drwx------. 3 omm dbgrp 213 4月 19 00:00 dn_6001
[dave@www.cndba.cn:/var/log/omm/omm/pg_audit]# cd dn_6001/
[dave@www.cndba.cn:/var/log/omm/omm/pg_audit/dn_6001]# ll -lh
总用量 96M
-rw-------. 1 omm dbgrp 2.5M 4月 7 23:59 0_adt
-rw------- 1 omm dbgrp 5.7M 4月 17 23:59 10_adt
-rw------- 1 omm dbgrp 5.7M 4月 18 23:59 11_adt
-rw------- 1 omm dbgrp 3.5M 4月 19 11:20 12_adt
-rw------- 1 omm dbgrp 5.1M 4月 8 23:59 1_adt
-rw------- 1 omm dbgrp 5.1M 4月 9 23:59 2_adt
-rw------- 1 omm dbgrp 5.4M 4月 10 23:59 3_adt
-rw------- 1 omm dbgrp 6.6M 4月 11 23:59 4_adt
-rw------- 1 omm dbgrp 7.3M 4月 12 23:59 5_adt
-rw------- 1 omm dbgrp 7.3M 4月 13 23:59 6_adt
-rw------- 1 omm dbgrp 7.3M 4月 14 23:59 7_adt
-rw------- 1 omm dbgrp 7.4M 4月 15 23:59 8_adt
-rw------- 1 omm dbgrp 7.4M 4月 16 23:59 9_adt
drwx------. 2 omm dbgrp 6 4月 7 10:55 done
-rw-------. 1 omm dbgrp 17M 4月 19 00:00 index_table_new
[dave@www.cndba.cn:/var/log/omm/omm/pg_audit/dn_6001]#
这里要注意,审计日志要通过SQL 来查看,os文件直接查看会乱码。
5 WAL 日志
OpenGauss WAL 日志 与 归档 配置
https://www.cndba.cn/dave/article/116488
6 性能日志
性能日志主要关注外部资源的访问性能问题。性能日志指的是数据库系统在运行时检测物理资源的运行状态的日志,在对外部资源进行访问时的性能检测,包括磁盘等外部资源的访问检测信息。在出现性能问题时,可以借助性能日志及时的定位问题发生的原因,能极大地提升问题解决效率。
数据库节点的性能日志目录在“$GAUSSLOG/gs_profile”中各自对应的目录下。
6.1 日志文件命名格式
数据库节点的性能日志的命名规则:
postgresql-创建时间.prf
默认情况下,每日0点或者日志文件大于20MB或者数据库实例(数据库节点)重新启动后,会生成新的日志文件。
6.2 日志内容说明
数据库节点每一行日志内容的默认格式:
主机名称+日期+时间+实例名称+线程号+日志内容。
6.3 查看日志
[dave@www.cndba.cn:/var/log/omm/omm/gs_profile]# pwd
/var/log/omm/omm/gs_profile
[dave@www.cndba.cn:/var/log/omm/omm/gs_profile]# ll
总用量 88
drwx------. 2 omm dbgrp 8192 4月 19 00:21 dn_6001_6002_6003
-r-------- 1 omm dbgrp 20 4月 7 18:49 postgresql-2023-04-07_025508.prf.gz
-r-------- 1 omm dbgrp 20 4月 7 18:49 postgresql-2023-04-07_094827.prf.gz
-r-------- 1 omm dbgrp 20 4月 7 18:49 postgresql-2023-04-07_095057.prf.gz
-r-------- 1 omm dbgrp 49 4月 8 08:19 postgresql-2023-04-07_101902.prf.gz
-r-------- 1 omm dbgrp 49 4月 9 08:19 postgresql-2023-04-08_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 10 08:19 postgresql-2023-04-09_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 11 08:19 postgresql-2023-04-10_000000.prf.gz
-r-------- 1 omm dbgrp 20 4月 11 09:28 postgresql-2023-04-11_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 12 08:28 postgresql-2023-04-11_005833.prf.gz
-r-------- 1 omm dbgrp 49 4月 13 08:28 postgresql-2023-04-12_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 14 08:28 postgresql-2023-04-13_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 15 08:28 postgresql-2023-04-14_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 16 08:28 postgresql-2023-04-15_000000.prf.gz
-r-------- 1 omm dbgrp 49 4月 17 08:29 postgresql-2023-04-16_000000.prf.gz
-r-------- 1 omm dbgrp 20 4月 17 15:10 postgresql-2023-04-17_000000.prf.gz
-r-------- 1 omm dbgrp 20 4月 17 16:12 postgresql-2023-04-17_064003.prf.gz
-r-------- 1 omm dbgrp 20 4月 18 09:21 postgresql-2023-04-17_074201.prf.gz
-r-------- 1 omm dbgrp 20 4月 18 09:21 postgresql-2023-04-18_005149.prf.gz
-r-------- 1 omm dbgrp 49 4月 19 08:22 postgresql-2023-04-18_005858.prf.gz
-rw------- 1 omm dbgrp 0 4月 19 08:00 postgresql-2023-04-19_000000.prf
[dave@www.cndba.cn:/var/log/omm/omm/gs_profile]#