当前位置: 首页 > news >正文

open Gauss 数据库-04 openGauss数据库日志管理指导手册

发文章是为了证明自己真的掌握了一个知识,同时给他人带来帮助,如有问题,欢迎指正,祝大家万事胜意!

目录

前言

openGauss 数据库日志管理

1 实验介绍

2 实验目的

3 系统日志

3.1 运行时日志

3.2 安装卸载时日志

4 操作日志

4.1 操作步骤

5 审计日志

5.1 前提条件

5.2 背景信息

5.3 选择日志维护方式进行维护

5.3.1 设置自动删除审计日志

5.3.2 手动备份审计文件

5.3.3 手动删除审计日志

6 WAL 日志

6.1 操作步骤

7 性能日志

7.1 操作步骤


前言

我的环境:

设备名称设备型号软件版本
虚拟机VMwareVMware-workstation-full-17.5.1
操作系统openEuler   openEuler 22.3LTS
数据库openGauss  openGauss 5.0.0


 需要的工具,大家不用现在下,后面用到了再下也可以,如果需要相关文件,可以评论,其实大多数都是可以去官网下的哈,因为我只能通过网盘给大家,文件又有点大,网盘的速度大家都是清楚的哈哈,所以还是推荐大家去官网,如果实在找不到可以找我

openGauss 数据库日志管理

1 实验介绍

在实际的数据库管理工作中,小数据量的日志可以按照实验手册,使用 cat 查看。但需要注意

的是,生产环境的日志量可能比较多,日志文件容量经常在 GB 级别左右,为了提升读取日志

的有效性,一般建议使用 more、tail、grep 等命令查看日志,所以学会这些命令的基本使用方

法也是必须的。另外,在生产环境节点较多(成千上万个生产节点)、日志类型较复杂的情况

下,人工已无法满足实际生产需求,针对这种情况,一般使用脚本自动化分析或使用第三方软

件对日志进行实时监控、分析、告警。

本实验主要描述 openGauss 数据库中日志管理的内容,并对数据库进行日常管理维护、问题定

位和数据库恢复的操作。

2 实验目的

掌握 openGauss 数据库中日志管理的内容;

掌握对数据库进行日常管理维护、问题定位。

3 系统日志

openGauss 运行时数据库节点以及 openGauss 安装部署时产生的日志统称为系统日志。如果

openGauss 在运行时发生故障,可以通过这些系统日志及时定位故障发生的原因,根据日志内

容制定恢复 openGauss 的方法。

说明:

日志路径在安装 openGauss 时已由 XML 文件中 gaussdbLogPath 参数指定,如果未指定

该参数值,则默认路径在/var/log/gaussdb。

数据文件路径在安装 openGauss 时已由 XML 文件中 dataNode 参数指定,如果未指定该

参数值,则默认路径在/gaussdb/data/data_dn。

3.1 运行时日志

步骤 1 切换到 omm 用户,以操作系统用户 omm 登录数据库主节点

[root@node0 ~]# su - omm
Last login: Sun Mar 31 16:51:15 CST 2024 on tty1Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 03月 31日 星期日 17:04:47 CSTSystem load: 	0.00
Processes: 	200
Memory used: 	38.3%
Swap used: 	10.1%
Usage On: 	25%
IP address: 	192.168.28.131
Users online: 	2
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 数据库节点的运行日志放在“$gaussdbLogPath/用户名/pg_log /用户名/pg_log”中,当前场景下

用户名为”omm”,切换到 pg_log 文件夹,并显示文件夹中的内容。

每个人可能不一样,我就找了一会,大家可以利用WinSCP来找,下面这个是我的

[omm@node0 ~]$ cd /var/log/omm/omm/pg_log ##实际路径以$gaussdbLogPat为准,这是注释
[omm@node0 pg_log]$ ll

文件内容显示如下:

total 4
drwxr-x--- 2 omm dbgrp 4096 Mar 31 16:51 dn_6001

数据库节点文件夹为”dn_6001”,以自己实际数据库节点名先为准。

步骤 3 切换到“pg_log”文件夹下的数据库节点文件夹中,查看日志文件。

[omm@node0 pg_log]$ cd dn_6001
[omm@node0 dn_6001]$ ls

日志文件列表如下:

postgresql-2024-03-16_095122.log  postgresql-2024-03-28_210211.log
postgresql-2024-03-17_214212.log  postgresql-2024-03-28_222633.log
postgresql-2024-03-18_000000.log  postgresql-2024-03-28_223555.log
postgresql-2024-03-18_033830.log  postgresql-2024-03-29_110930.log
postgresql-2024-03-18_045238.log  postgresql-2024-03-31_162857.log
postgresql-2024-03-25_182658.log  postgresql-2024-03-31_165132.log
postgresql-2024-03-25_194258.log

步骤 4 由于在运行过程中日志的大小可能会超过 16 MB,所以在简单查询的过程中,可以先查看日 志的大小(其中 l 是 L 的小写)。

[omm@node0 dn_6001]$ ll -h

列表显示如下:

total 2.0M
-rw------- 1 omm dbgrp  73K Mar 16 10:34 postgresql-2024-03-16_095122.log
-rw------- 1 omm dbgrp 358K Mar 17 23:59 postgresql-2024-03-17_214212.log
-rw------- 1 omm dbgrp 401K Mar 18 03:35 postgresql-2024-03-18_000000.log
-rw------- 1 omm dbgrp 158K Mar 18 04:51 postgresql-2024-03-18_033830.log
-rw------- 1 omm dbgrp 147K Mar 18 06:07 postgresql-2024-03-18_045238.log
-rw------- 1 omm dbgrp 136K Mar 25 19:36 postgresql-2024-03-25_182658.log
-rw------- 1 omm dbgrp 178K Mar 25 21:17 postgresql-2024-03-25_194258.log
-rw------- 1 omm dbgrp 179K Mar 28 22:25 postgresql-2024-03-28_210211.log
-rw------- 1 omm dbgrp  38K Mar 28 22:35 postgresql-2024-03-28_222633.log
-rw------- 1 omm dbgrp  42K Mar 28 22:49 postgresql-2024-03-28_223555.log
-rw------- 1 omm dbgrp 105K Mar 29 11:55 postgresql-2024-03-29_110930.log
-rw------- 1 omm dbgrp  27K Mar 31 16:29 postgresql-2024-03-31_162857.log
-rw------- 1 omm dbgrp  71K Mar 31 17:21 postgresql-2024-03-31_165132.log

步骤 5 可以查看内容较少的日志(是查你自己的!!我查的是我的日志文件,你肯定没有这个文件,注意输入自己的)。

[omm@node0 dn_6001]$ cat postgresql-2024-03-31_162857.log

日志内容为(日志,没看看的必要):

2024-03-31 16:28:57.767 66091ec9.10000 [unknown] 140435825620544 dn_6001 0 dn_6001 00000  0 [BACKEND] LOG:  reaper backend started.
2024-03-31 16:28:57.769 66091ec9.10000 [unknown] 140435847767616 dn_6001 0 dn_6001 00000  0 [BACKEND] LOG:  [Alarm Module]alarm checker started.
2024-03-31 16:28:57.781 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <System>             Startup: Loading configuration from /opt/huawei/install/data/dn/mot.conf
2024-03-31 16:28:57.829 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Configuration>      Configuring total memory for relative memory values to: 2048 MB
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Configuration>      Loading max_connections from envelope into MOTEngine: 6000
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [WARNING]  <Configuration>      Adjusted maximum number of threads to 4096 due to maximum limit
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Configuration>      Configuring asynchronous redo-log handler due to synchronous_commit=off
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [WARNING]  <Configuration>      Using minimal memory limits in MOT Engine due to system total memory restrictions
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [WARNING]  <Configuration>      Adjusting MOT memory limits: global = 128 MB, local = 64 MB, session large store = 0 MB, total = 192 MB
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Memory>             Global Memory Limit is configured to: 0 MB --> 128 MB
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Memory>             Local Memory Limit is configured to: 0 MB --> 64 MB
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Memory>             Session Memory Limit is configured to: 0 KB --> 0 KB (maximum 6000 sessions)
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [INFO]     <Memory>             Configured automatic chunk allocation policy to 'LOCAL' on single node machine
2024-03-31 16:28:57.859 [MOT] <TID:03978/-----> <SID:-----/-----> [WARNING]  <FDW>                Allowing MOT to work in minimal memory mode……(不用看,很多,只是部分截取)

3.2 安装卸载时日志

步骤 1 切换到 omm 用户,以操作系统用户 omm 登录数据库主节点。

[root@node0 ~]# su - omm
Last login: Sun Mar 31 17:04:47 CST 2024 on pts/0Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 03月 31日 星期日 17:35:07 CSTSystem load: 	0.07
Processes: 	202
Memory used: 	38.6%
Swap used: 	11.4%
Usage On: 	25%
IP address: 	192.168.28.131
Users online: 	2
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 openGauss 安装卸载时产生的日志放在“$gaussdbLogPath/用户名/om”目录下,当前场景下用 户名为”omm”,切换到 om 文件夹,并显示文件夹中的内容。

[omm@node0 ~]$ cd /var/log/omm/omm/om ##实际路径以$gaussdbLogPath 为准
[omm@node0 om]$ ll -h

文件夹中内容显示如下:

total 536K
-rw------- 1 omm dbgrp 2.7K Mar 25 19:46 gs_check-2024-03-18_033618.log
-rw------- 1 omm dbgrp  49K Mar 25 20:16 gs_checkperf-2024-03-18_034308.log
-rw------- 1 omm dbgrp 4.2K Mar 28 21:36 gs_collector-2024-03-25_190140.log
-rw------- 1 omm dbgrp  49K Mar 17 21:43 gs_install-2024-03-15_174154.log
-rw------- 1 omm dbgrp 315K Mar 31 16:51 gs_local-2024-03-15_165648.log
-rw------- 1 omm dbgrp  56K Mar 31 16:51 gs_om-2024-03-15_174942.log
-rw------- 1 omm dbgrp  26K Mar 16 13:40 gs_preinstall-2024-03-15_165624.log

步骤 3 查看“gs_install-2024-03-15_174154.log”(我们不一样哈)日志,了解 openGauss 安装情况。

omm@node0 om]$ cat gs_install-2024-03-15_174154.log

日志内容如下:

[2024-03-15 17:41:54.051585][7624][gs_install][DEBUG]:The /opt/huawei/tmp/install_step/install_step.dat does not exits.
[2024-03-15 17:41:54.051757][7624][gs_install][DEBUG]:gs_install execution takes 7 steps in total
[2024-03-15 17:41:54.051918][7624][gs_install(initGlobals:109)][gs_install][LOG][Step1]:Parsing the configuration file.
[2024-03-15 17:41:54.287209][7624][gs_install(initGlobals:125)][gs_install][DEBUG][Step1]:Successfully parsed the configuration file.
[2024-03-15 17:41:54.497368][7624][gs_install][DEBUG]:{'node0': 6001}
[2024-03-15 17:41:54.497677][7624][InstallImpl.py(checkGaussenvFlag:189)][gs_install][LOG][Step2]:Check preinstall on every node.
[2024-03-15 17:41:54.756723][7624][InstallImpl.py(checkGaussenvFlag:192)][gs_install][LOG][Step2]:Successfully checked preinstall on every node.
……
[2024-03-17 21:43:48.256824][4573][InstallImplOLAP.py(checkNodeInstall:169)][gs_install][LOG][Step5]:Checking the installation environment on all nodes.
[2024-03-17 21:43:48.257149][4573][gs_install][DEBUG]:Command for checking installation: source /home/omm/.bashrc;python3 '/opt/huawei/install/om/script/local/CheckInstall.py' -U omm:dbgrp -R /opt/huawei/install/app -l /var/log/omm/omm/om/gs_local.log -X /opt/software/openGauss/cluster_config.xml.
[2024-03-17 21:43:48.611973][4573][gs_install][ERROR]:Checking old installation.
[GAUSS-51806] : The cluster has been installed.

4 操作日志

操作日志是指数据库管理员使用工具操作数据库时以及工具被 openGauss 调用时产生的日志。

如果 openGauss 发生故障,可以通过这些日志信息跟踪用户对数据库进行了哪些操作,重现故

障场景。

4.1 操作步骤

步骤 1 切换到 omm 用户,以操作系统用户 omm 登录数据库主节点

[omm@node0 om]$ su - omm
Password: 
[omm@node0 om]$ logout
[root@node0 ~]# su - omm
Last login: Sun Mar 31 17:35:07 CST 2024 on pts/0Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 03月 31日 星期日 17:47:51 CSTSystem load: 	0.20
Processes: 	202
Memory used: 	38.4%
Swap used: 	20.0%
Usage On: 	25%
IP address: 	192.168.28.131
Users online: 	2
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 默认在“$GAUSSLOG/bin”目录下,其中$GAUSSLOG 默认为“/var/log/gaussdb/用户名”, 当

前场景下用户名为”omm”。

[omm@node0 ~]$ cd /var/log/omm/omm/bin
[omm@node0 bin]$ ls

显示如下:

gs_cgroup  gs_ctl  gs_guc  gs_initdb  gs_obs

步骤 3 以 gs_guc 操作为例,进入 gs_guc 文件夹,并查看文件的属性

[omm@node0 bin]$ cd gs_guc
[omm@node0 gs_guc]$ ll -h

文件列表显示如下:

total 8.0K
-rw------- 1 omm dbgrp 6.6K Mar 28 22:18 gs_guc-2024-03-15_174436-current.log
[omm@node0 gs_guc]$ 

步骤 4 查看操作日志文件

[omm@node0 gs_guc]$ cat gs_guc-2024-03-15_174436-current.log

日志显示如下:

[2024-03-15 17:44:36]
expected instance path: [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc set: ssl=on: [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc set: ssl_cert_file='server.crt': [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc set: ssl_key_file='server.key': [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc set: ssl_ca_file='cacert.pem': [/opt/huawei/install/data/dn/postgresql.conf]Total instances: 1. Failed instances: 0.
Success to perform gs_guc!……[2024-03-18 04:49:24]
expected instance path: [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc reload: max_connections=6000: [/opt/huawei/install/data/dn/postgresql.conf]
server signaledTotal instances: 1. Failed instances: 0.
Success to perform gs_guc![2024-03-28 22:18:23]
expected instance path: [/opt/huawei/install/data/dn/postgresql.conf]
gs_guc reload: max_connections=6000: [/opt/huawei/install/data/dn/postgresql.conf]
server signaledTotal instances: 1. Failed instances: 0.
Success to perform gs_guc!

5 审计日志

审计功能开启时会不断产生大量的审计日志,占用磁盘空间。用户可以根据磁盘空间的大小设置审计日志维护策略。

5.1 前提条件

用户必须拥有审计权限。

omm 用户连接数据库。

步骤 1 以操作系统用户 omm 登录数据库主节点。

[omm@node0 gs_guc]$ logout
[root@node0 ~]# su - omm
Last login: Sun Mar 31 17:47:50 CST 2024 on pts/0Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 03月 31日 星期日 17:57:54 CSTSystem load: 	0.13
Processes: 	203
Memory used: 	38.6%
Swap used: 	20.0%
Usage On: 	25%
IP address: 	192.168.28.131
Users online: 	2
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 启动 openGauss 数据库服务

[omm@node0 ~]$ gs_om -t start
Starting cluster.
=========================================
[SUCCESS] node0:
[2024-03-31 18:43:01.563][13308][][gs_ctl]: gs_ctl started,datadir is /opt/huawei/install/data/dn 
[2024-03-31 18:43:01.573][13308][][gs_ctl]:  another server might be running; Please use the restart command
=========================================
Successfully started.

步骤 3 使用如下命令连接数据库

[omm@node0 ~]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

postgres 为需要连接的数据库名称,15400为数据库主节点的端口号。

5.2 背景信息

与审计日志相关的配置参数及其含义请参见下表。

1-1 与审计日志相关的配置参数说明

配置项

含义

默认值

audit_directory

审计文件的存储目录。

/var/log/gaussdb/用户名

/pg_audit

audit_resource_policy

审计日志的保存策略。

on(表示使用空间配置策略)

audit_space_limit

审计文件占用的磁盘空间总量。

1 GB

audit_file_remain_time

审计日志文件的最小保存时间。

90

audit_file_remain_thresh old

审计目录下审计文件的最大数量。

1048576

说明:如果使用 gs_om 工具部署 openGauss,则审计日志路径为 “/var/log/gaussdb/用户名

/pg_audit”。

审计日志删除命令为数据库提供的 sql 函数 pg_delete_audit,其原型为:

pg_delete_audit(timestamp startime,timestamp endtime)

其中参数 startime 和 endtime 分别表示审计记录的开始时间和结束时间。

目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到 OS 文件中。这

两种方式的优缺点比较如下表所示。

1-2 两种方式的优缺点比较

方式

优点

缺点

记录到表中

不需要用户维护审计日志。

由于表是数据库的对象,如果一个数据库用户具有一定的权限,就能够访问到审计表。如果该用户非法操作审计表,审计记录的准确性难以得到保证。

记录到OS文件中

比较安全,即使一个帐户可以访问数据库,但不一定有访问OS这个文件的权限。

需要用户维护审计日志。

从数据库安全角度出发,openGauss 采用记录到 OS 文件的方式来保存审计结果,保证了审计

结果的可靠性。

5.3 选择日志维护方式进行维护

5.3.1 设置自动删除审计日志

审计文件占用的磁盘空间或者审计文件的个数超过指定的最大值时,系统将删除最早的审计文

件,并记录审计文件删除信息到审计日志中。

注:审计文件占用的磁盘空间大小默认值为 1024MB,用户可以根据磁盘空间大小重新设置参

数。

步骤 1 配置审计文件占用磁盘空间的大小(audit_space_limit),查看已配置的参数。

openGauss=# SHOW audit_space_limit;audit_space_limit 
-------------------1GB
(1 row)

如果显示结果不为 1 GB(1024 MB),执行“\q”命令退出数据库

openGauss =# \q

步骤 2 建议执行如下命令设置成默认值 1024 MB。

[omm@node0 ~]$ gs_guc reload -N all -I all -c "audit_space_limit=1024MB"

显示结果为:

The gs_guc run with the following arguments: [gs_guc -N all -I all -c audit_space_limit=1024MB reload ].
Begin to perform the total nodes: 1.
Popen count is 1, Popen success count is 1, Popen failure count is 0.
Begin to perform gs_guc for datanodes.
Command count is 1, Command success count is 1, Command failure count is 0.Total instances: 1. Failed instances: 0.
ALL: Success to perform gs_guc!

步骤 3 配置审计文件个数的最大值(audit_file_remain_threshold)。连接数据库,查看已配置的参

数。

连接数据库:

[omm@node0 ~]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

查看审计文件个数的参数:

openGauss=# SHOW audit_file_remain_threshold;audit_file_remain_threshold 
-----------------------------1048576
(1 row)

如果显示结果不为 1048576,执行“\q”命令退出数据库

openGauss=# \q

步骤 4 建议执行如下命令设置成默认值 1048576

[omm@node0 ~]$ gs_guc reload -N all -I all -c "audit_file_remain_threshold=1048576"

显示为:

The gs_guc run with the following arguments: [gs_guc -N all -I all -c audit_file_remain_threshold=1048576 reload ].
Begin to perform the total nodes: 1.
Popen count is 1, Popen success count is 1, Popen failure count is 0.
Begin to perform gs_guc for datanodes.
Command count is 1, Command success count is 1, Command failure count is 0.Total instances: 1. Failed instances: 0.
ALL: Success to perform gs_guc!
5.3.2 手动备份审计文件

当审计文件占用的磁盘空间或者审计文件的个数超过配置文件指定的值时,系统将会自动删除

较早的审计文件,因此建议用户周期性地对比较重要的审计日志进行保存。

步骤 1 连接数据库,使用 show 命令获得审计文件所在目录(audit_directory)。

连接数据库:

[omm@node0 ~]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

获得审计文件所在目录:

openGauss=# SHOW audit_directory;audit_directory          
-----------------------------------/var/log/omm/omm/pg_audit/dn_6001
(1 row)

退出数据库

openGauss=# \q

步骤 2 将审计目录整个拷贝出来进行保存。

(以自己的目录为准)

[omm@node0 ~]$ cp -r /var/log/omm/omm/pg_audit/dn_6001 /var/log/omm/omm/pg_audit/dn_6001_bak

查看备份是否成功:

[omm@node0 ~]$ cd /var/log/omm/omm/pg_audit/
[omm@node0 pg_audit]$ ll -h
total 8.0K
drwxr-x--- 3 omm dbgrp 4.0K Mar 18 00:00 dn_6001
drwx------ 3 omm dbgrp 4.0K Apr  1 10:27 dn_6001_bak
5.3.3 手动删除审计日志

当不再需要某时段的审计记录时,可以使用审计接口命令 pg_delete_audit 进行手动删除。

以删除 2020/07/20 到 2020/07/21 之间的审计记录为例:

步骤 1 连接数据库

[omm@node0 pg_audit]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

步骤 2 删除 2020/07/20 到 2020/07/21 之间的审计记录:

openGauss=# SELECT pg_delete_audit('2020-07-20','2020-07-22');pg_delete_audit 
-----------------(1 row)openGauss=# \q

6 WAL 日志

预写式日志 WAL(Write Ahead Log,也称为 Xlog)是指如果要修改数据文件,必须是在这些

修改操作已经记录到日志文件之后才能进行修改,即在描述这些变化的日志记录刷新到永久存

储器之后。在系统崩溃时,可以使用 WAL 日志对 openGauss 进行恢复操作。

6.1 操作步骤

步骤 1 以操作系统用户 omm 登录数据库主节点。

[root@node0 ~]# su - omm
Last login: Mon Apr  1 09:52:02 CST 2024 on pts/0Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 04月 01日 星期一 10:41:17 CSTSystem load: 	0.05
Processes: 	196
Memory used: 	38.7%
Swap used: 	14.7%
Usage On: 	25%
IP address: 	192.168.28.132
Users online: 	1
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 以一个数据库节点为例,默认在“/opt/huawei/install/data/data_dn/pg_xlog”目录下。其中“/opt/huawei/install/data/data_dn”代表 openGauss 节点的数据目录,当前情况下为“/opt/huawei/install/data/dn

[omm@node0 ~]$ cd /opt/huawei/install/data/
[omm@node0 data]$ ls
dn

切换到 dn文件夹。

[omm@node0 data]$ cd dn
[omm@node0 dn]$ ls

文件夹中内容如下:

base                pg_ident.conf  postgresql.conf
cacert.pem          pg_llog        postgresql.conf.bak
gaussdb.state       pg_location    postgresql.conf.guc.bak
global              pg_logical     postgresql.conf.lock
gs_gazelle.conf     pg_multixact   postmaster.opts
gswlm_userinfo.cfg  pg_notify      postmaster.pid
mot.conf            pg_replslot    postmaster.pid.lock
pg_clog             pg_serial      server.crt
pg_csnlog           pg_snapshots   server.key
pg_ctl.lock         pg_stat_tmp    server.key.cipher
pg_errorinfo        pg_tblspc      server.key.rand
pg_hba.conf         pg_twophase    undo
pg_hba.conf.bak     PG_VERSION
pg_hba.conf.lock    pg_xlog

步骤 3 切换到 pg_xlog 文件夹,查看 WAL 日志文件

[omm@node0 dn]$ cd pg_xlog
[omm@node0 pg_xlog]$ ls
000000010000000000000001  000000010000000000000002  archive_status
[omm@node0 pg_xlog]$ 

7 性能日志

性能日志主要关注外部资源的访问性能问题。性能日志指的是数据库系统在运行时检测物理资

源的运行状态的日志,在对外部资源进行访问时的性能检测,包括磁盘、OBS 等外部资源的访

问检测信息。在出现性能问题时,可以借助性能日志及时的定位问题发生的原因,能极大地提

升问题解决效率。

7.1 操作步骤

步骤 1 以操作系统用户 omm 登录数据库主节点。

[omm@node0 pg_xlog]$ logout
[root@node0 ~]# su - omm
Last login: Mon Apr  1 10:41:16 CST 2024 on pts/0Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64System information as of time: 	2024年 04月 01日 星期一 11:28:45 CSTSystem load: 	0.74
Processes: 	198
Memory used: 	39.1%
Swap used: 	16.5%
Usage On: 	25%
IP address: 	192.168.28.132
Users online: 	1
To run a command as administrator(user "root"),use "sudo <command>".

步骤 2 数据库节点的性能日志目录在“$GAUSSLOG/gs_profile”中各自对应的目录下, 其中

$GAUSSLOG 默认为“/var/log/omm/用户名”, 当前场景下用户名为”omm”。切换到文件

夹,查看文件列表的信息。

[omm@node0 ~]$ cd /var/log/omm/omm/gs_profile/
[omm@node0 gs_profile]$ ls
dn_6001

性能日志内容显示如下

total 4.0K
-rw------- 1 omm dbgrp  0 Mar 16 09:51 postgresql-2024-03-16_095122.prf
-rw------- 1 omm dbgrp 48 Mar 18 00:00 postgresql-2024-03-17_214212.prf
-rw------- 1 omm dbgrp  0 Mar 18 00:00 postgresql-2024-03-18_000000.prf
-rw------- 1 omm dbgrp  0 Mar 18 03:38 postgresql-2024-03-18_033830.prf
-rw------- 1 omm dbgrp  0 Mar 18 04:52 postgresql-2024-03-18_045238.prf
-rw------- 1 omm dbgrp  0 Mar 25 18:26 postgresql-2024-03-25_182658.prf
-rw------- 1 omm dbgrp  0 Mar 25 19:42 postgresql-2024-03-25_194258.prf
-rw------- 1 omm dbgrp  0 Mar 28 21:02 postgresql-2024-03-28_210211.prf
-rw------- 1 omm dbgrp  0 Mar 28 22:26 postgresql-2024-03-28_222633.prf
-rw------- 1 omm dbgrp  0 Mar 28 22:35 postgresql-2024-03-28_223555.prf
-rw------- 1 omm dbgrp  0 Mar 29 11:09 postgresql-2024-03-29_110930.prf
-rw------- 1 omm dbgrp  0 Mar 31 16:28 postgresql-2024-03-31_162857.prf
-rw------- 1 omm dbgrp  0 Mar 31 16:51 postgresql-2024-03-31_165132.prf
-rw------- 1 omm dbgrp  0 Apr  1 09:52 postgresql-2024-04-01_095226.prf

说明:

性能日志主要监控三种资源访问:磁盘、OBS、Hadoop。openGauss 不支持 OBS、Hadoop,

所以只有磁盘访问的监控信息。

磁盘监控的访问信息主要在磁盘文件 IO 读写的时候进行统计。比如拷贝文件时的读文件

IO,正常 SQL 执行时访问 OS 表文件的 pread 系统调用。

性能日志进行收集的配置:logging_collector 是否进行日志收集;plog_merge_age 多久进

行一次性能日志汇聚,单位毫秒。logging_collector 参数为 on,且 plog_merge_age 大于 0,

且是主机正常运行中,恢复过程不进行性能收集。

通过工具 gs_log 导出文件进行查看。

本实验结束。

相关文章:

open Gauss 数据库-04 openGauss数据库日志管理指导手册

发文章是为了证明自己真的掌握了一个知识&#xff0c;同时给他人带来帮助&#xff0c;如有问题&#xff0c;欢迎指正&#xff0c;祝大家万事胜意&#xff01; 目录 前言 openGauss 数据库日志管理 1 实验介绍 2 实验目的 3 系统日志 3.1 运行时日志 3.2 安装卸载时日志…...

Redis性能瓶颈与安全隐患排查验证纪实

在写《Redis怎样保证数据安全&#xff1f;》这篇文章&#xff0c;我是有对redis设置密码需要哪些步骤&#xff0c;设置密码的性能损耗有验证的。这就涉及到要对redis的配置做修改。 开始时我是打算采用直接使用redis配置文件的方式。所以我从redis官网下载了一个默认的配置文件…...

【C/C++】C语言实现顺序表

C语言实现顺序表 简单描述代码运行结果 简单描述 用codeblocks编译通过 源码参考连接 https://gitee.com/IUuaena/data-structures-c.git 代码 common.h #ifndef COMMON_H_INCLUDED #define COMMON_H_INCLUDED#define LIST_INIT_CAPACITY 100 //!< 线性表初始化长度 #def…...

零基础快速上手:搭建类ChatGPT对话机器人的完整指南

来自&#xff1a;鸵傲科技开发 随着人工智能技术的飞速发展&#xff0c;对话机器人已经成为我们日常生活中不可或缺的一部分。它们能够实时响应我们的需求&#xff0c;提供便捷的服务。那么&#xff0c;对于零基础的朋友们来说&#xff0c;如何快速搭建一个类似ChatGPT的对话机…...

Java中的取余与取模运算:概念、区别与实例详解

Java中的取余与取模运算&#xff1a;概念、区别与实例详解 引言一、取余运算&#xff08;Remainder Operation&#xff09;二、取模运算&#xff08;True Modulo Operation&#xff09;三、区别比较四、实战应用 引言 在Java编程中&#xff0c;当我们提到“取余”和“取模”运算…...

Excel制作甘特图

使用Excel表格制作甘特图&#xff0c;可根据任务开始时间和结束时间自动计算工时&#xff0c;并自动用指定颜色填充横道图。 1.新建Excel文档&#xff0c;先设置项目基本信息&#xff0c;包括表格名称&#xff0c;这里设置为“**项目甘特图”&#xff1b;然后添加任务序号列&a…...

Dapr(一) 基于云原生了解Dapr

(这期先了解Dapr&#xff0c;之后在推出如何搭建Dapr&#xff0c;以及如何使用。) 目录 引言&#xff1a; Service Mesh定义 Service Mesh解决的痛点 Istio介绍 Service Mesh遇到的挑战 分布式应用的需求 Multiple Runtime 理念推导 Dapr 介绍 Dapr 特性 Dapr 核心…...

RESTful的优点

优点 1.通过url对资源定位&#xff0c;语义清晰&#xff1b; 2.通过HTTP谓词表示不同的操作&#xff0c;接口自描述&#xff1b; 3.可以对GET、PUT、DELETE请求重试&#xff08;幂等的&#xff09;&#xff1b; 4.可以对GET请求做缓存&#xff1b; 5.通过HTTP状态码反映服务器端…...

网络检测与监控

1.IP sla 服务等级质量检测&#xff0c;思科私有&#xff0c;提供商与用户之间的协议 可以对带宽、延迟、丢包率、网络抖动进行检测 &#xff08;1&#xff09;针对icmp进行检测&#xff1a; r1(config)#ip sla 1 r1(config-ip-sla)#icmp-echo 12.12.12.2 source-ip 12.12…...

基于架构的软件开发方法_1.概述和相关概念及术语

1.体系结构的设计方法概述 基于体系结构的软件设计&#xff08;Architecture-Based Software Design&#xff0c;ABSD&#xff09;方法。ABSD方法是由体系结构驱动的&#xff0c;即指由构成体系结构的商业、质量和功能需求的组合驱动的。 使用ABSD方法&#xff0c;设计活动可以…...

读所罗门的密码笔记07_共生思想(中)

1. 在人工智能系统中建立信任 1.1. 人类的大脑容易被个人倾向、干扰因素和确认偏误所影响 1.2. 古莱说&#xff0c;然而&#xff0c;从不同的角度去思考事实、花更长时间来做决策的能力&#xff0c;可能会让人类拥有“密探”一般的智慧 1.3. 我们可以对决策进行批判性思考&a…...

目标检测——工业安全生产环境违规使用手机的识别

一、重要性及意义 首先&#xff0c;工业安全生产环境涉及到许多复杂的工艺和设备&#xff0c;这些设备和工艺往往需要高精度的操作和严格的监管。如果员工在生产过程中违规使用手机&#xff0c;不仅可能分散其注意力&#xff0c;降低工作效率&#xff0c;更可能因操作失误导致…...

Linux/Ubuntu/Debian 终端命令:设置文件/目录权限和组

更改文件权限&#xff1a; chmod filename&#xff1a;根据指定的权限更改文件的权限。 例如&#xff1a; chmod ux filename # 为文件所有者添加执行权限 递归更改目录权限&#xff1a; chmod -R <说明> 目录名称&#xff1a;递归更改目录及其内容的权限。 例如&#xf…...

QA测试开发工程师面试题满分问答3: python的深拷贝和浅拷贝问题

在 Python 中&#xff0c;深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;是用于创建对象副本的两种不同方式。 浅拷贝是创建一个新的对象&#xff0c;该对象与原始对象的内容相同&#xff08;包括内部嵌套对象的引用&#xff09;&…...

Spire.PDF for .NET【文档操作】演示:合并 PDF 文件并添加页码

搜索了这么多有关 PDF 合并的信息后&#xff0c;很容易发现&#xff0c;无论您在线合并 PDF 文件还是使用 C#/VB.NET 来实现此任务&#xff0c;您都无法逃避对 PDF 文件安全等一些重要问题的担忧&#xff0c;因此需要花费多少时间或者合并后的文件是否支持打印页码等等。不过&a…...

VMware使用PowerCLI 修改分布式虚拟交换机的默认上联接口为LAG

简介 创建VMware 分布式交换机vDS 并配置 LACP接口时&#xff0c;然后创建新的默认分布式端口组不会默认使用LACP的上联接口。这意味着当创建新的端口组时&#xff0c;不可避免地会导致没手动修改上联端口的问题&#xff0c;导致网络不通&#xff0c;因为它们无可用的上联端口…...

什么是EDM邮件推广营销?

电子邮件作为最古老的互联网沟通工具之一&#xff0c;凭借其无可比拟的直达性、个性化潜力与高投资回报率&#xff0c;始终占据着企业营销策略的核心地位。随着人工智能技术的革新应用&#xff0c;云衔科技以其前瞻视野与深厚技术底蕴&#xff0c;倾力打造了一站式智能EDM邮件营…...

NoSQL之 Redis配置

目录 关系数据库与非关系型数据库 关系型数据库&#xff1a; ●非关系型数据库 关系型数据库和非关系型数据库区别&#xff1a; &#xff08;1&#xff09;数据存储方式不同 &#xff08;2&#xff09;扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 Redis简介…...

Android U user+root实现方案

背景 由于项目&#xff08;MTK平台&#xff09;上要实现userroot的版本&#xff0c;供特殊用户使用。Android T上的方案无效&#xff0c;经历了各种搜索查看资料&#xff0c;和bsp大佬一起通宵奋战&#xff0c;整出了方案。梳理记录下&#xff0c;有需要的同学可以参考。 Root…...

CSS3 Transform变形理解与应用

Transform&#xff1a;对元素进行变形&#xff1b; Transition&#xff1a;对元素某个属性或多个属性的变化&#xff0c;进行控制&#xff08;时间等&#xff09;&#xff0c;类似flash的补间动画。但只有两个关键贞。开始&#xff0c;结束。 Animation&#xff1a;对元素某个属…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...