当前位置: 首页 > 工具软件 > pgBadger > 使用案例 >

(三)Pgbadger监控

吴才俊
2023-12-01

#简介

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

 类似资料: