(三)Pgbadger监控

本文介绍了一款Perl实现的日志分析工具pgbadger,用于快速解析PostgreSQL日志,生成图表,以及如何配置SQL日志记录、日志前缀和开启关键日志功能。通过实例演示了下载、安装和定制pgBadger以提升数据库性能监控。

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

#简介

pgbadger,这是一款使用Perl实现的轻量级日志分析工具。通过分析PG的日志文件,以图表的形式展现数据库的各项活动和状态信息。专为提高速度而构建,可以完整地报告 PostgreSQL 日志文件。它是一个单一的小型 Perl 脚本,其性能优于大多数其他 PostgreSQL 日志分析器。

特性
1.图表输出:输出的图表可单独下载为PNG文件。

2.并行分析:使用-j-J指定并行度
3.压缩文件:可支持gzip压缩文件
4.增量报告:支持增量模式,比如按天分析,最后可以叠加为按周/月分析

#下载安装

GitHub 下载 (https://github.com/darold/pgbadger)

 tar xzf pgbadger-11.x.tar.gz

 cd pgbadger-11.x /

 perl Makefile.PL

 make && sudo make install

#配置

1.打开SQL日志记录

log_min_duration_statement=0

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

2.设置日志的前缀信息

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

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

log_line_prefix='t[p]'

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

log_line_prefix='t[p]user=udb=dapp=aclient=h'

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

log_line_prefix='user =udb=dapp=aclient=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

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

pgbadger /disk1/postgresql12/log/postgresql-2021-12-30_000000.log 或者

pgbadger --prefix '%t [%p]: user=%u,db=%d' /disk1/postgresql12/log/postgresql-2020-11-26_093001.log -o 11-26_093001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值