eclipse输出框怎么屏蔽日志_使用pgBadger进行日志分析

pgBadger是一款用于快速分析PostgreSQL日志的开源工具。它能生成易读的HTML报告,帮助DBA更好地了解数据库状态,如错误日志、连接数变化等,并可提前发现性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[前言]

数据库日志看看,是不是有什么问题?

VI打开密密麻麻的一片。还是用grep之类的命令过滤吧。

怎么这么多warning啊,严重影响看正常的日志。在用grep把这些warning屏蔽掉。

早在xxxx点都出问题了,日志已经有显示了,我们一直到现在才发现。

相信很多DBA同学遇到过类似的困扰,今天我们就介绍一下pgBadger,帮助我们分析日志的好工具。

[pgBadger使用]

pgBadger是一款开源的快速分析PostgreSQL日志的工具,它使用perl语言编写。对日志进行分析之后输出成HTML文件。它生成的报告易于阅读。可以帮助我们查看错误日志、连接数、检查点、临时文件、VACUUM、Locks等信息。

到网站https://pgbadger.darold.net/上下载最新安装包,然后解压到指定目录。

在运行pgbadger之前,我们需要对PostgreSQL先进行配置。

1.打开SQL日志记录

log_min_duration_statement=0

如果执行的SQL语句超过了这个参数设置的值,就会记录到日志里面,类似于MySQL中的慢查询日志。默认值为-1,不记录到日志。当前我们系统设置的是1000ms,也就是大于1s的SQL语句将被记录到日志。

2.设置日志的前缀信息

这个分两种情况。和log_destination参数有关系。

如果是“stderr”日志格式,log_line_prefix必须至少为:

log_line_prefix='%t[%p]:'

日志的前缀也可以添加用户、数据库名称,应用程序名称和客户端IP地址,如下所示:

log_line_prefix='%t[%p]:user=%u,db=%d,app=%a,client=%h'

如果是“syslog”日志格式,log_line_prefix就是:

log_line_prefix='user =%u,db=%d,app=%a,client=%h'

3.打开其他日志记录

为了让pgBadger能够更好的分析,需要开启一些基础记录功能。

log_checkpoints=on

log_connections= on

log_disconnections=on

log_lock_waits=on

log_temp_files=0

log_autovacuum_min_duration=0

log_error_verbosity= default

log_statement=none

这里不要log_statement不要启用,因为pgBadger不会解析它的日志格式。

4.设置字符集

最后一个是设置字符集。要确保自己的语言环境是英文的。

lc_messages='en_US.UTF- 8’

lc_messages='C'

以上参数设置完成之后,进入到pgbadger目录运行,指定日志文件输出成html格式。

. ./pgbadger--prefix '%t [%p]: user=%u,db=%d,app=%a,client=%h '/pg_data1/pg12/logs/postgresql-2020-11-26_093001.log -o11-26_093001.html

查看报告

接下来我们就可以查看报告了。

报告有以下信息:

查询、事件、Vacuum、临时文件、会话数、连接数。

ed8098f10fe9c26869fcc50e1331a455.png

接下来我们来看下我们需要关注的一些点。首先是TOPSQL语句。

ae6e243a3ba45d2d2817231499633f05.png

这里有一个图表。显示了SQL语句的执行时间所在的数量,比如1-10s,有43个查询。大于10秒是11个查询。SQL执行的SQL语句都会列出来。

其次可以看看出现的错误,通过图标可以迅速发现16点是一个错误频发期。一共出现了11次错误。可以进一步查看具体报的什么错。

b7e318b868ea93e5823c749ad48e85f3.png

会话数,通过图形判断是否在某个时间点出现大量的连接。

75c7a11ce1855bc9971927b6e6c7c26d.png

查看各个数据库占用的会话数。

91a6b8bee35002bf85eba910f82a1c26.png

检查点这里提供了检查点过程的信息,包括写入的缓冲区数,WAL文件以及其他常规信息。

973cf4e52fb244730fa43f704973808e.png

[总结]

有了pgBadger工具,我们在查看错误日志的时候更加的得心应手。通过生成的图表可以有助于我们提前发现一些性能问题。同时它是开源和免费使用的,它的Licence在PostgreSQL下面。

815685a9339723c65491071c4271a002.png

同时我们可以搞一些高级的玩法,比如写一个crontab定期的分析html,还有远程分析html、增量分析等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值