PostgreSQL DBA(3) - 日志分析工具pgbadger简介

96
EthanHe
2018.08.31 11:01 字数 370

本节简单介绍了一款用于分析PostgreSQL数据库日志文件的工具:pgbadger,这是一款使用Perl实现的轻量级日志分析工具。

一、简介

pgbadger通过分析PG的日志文件,以图表的形式展现数据库的各项活动和状态信息,其愿景是:"Make your reports in seconds!".
特性
1.图表输出:输出的图表可单独下载为PNG文件,这个功能对于DBA来说,用于数据库巡检截图会比较管用。
2.并行分析:使用-j或-J指定并行度
3.压缩文件:可支持gzip压缩文件
4.增量报告:支持增量模式,比如按天分析,最后可以叠加为按周/月分析
详细的Features列表请参见官网.
要求
数据库端开启日志,可使用syslog、stderr、csvlog或jsonlog等多种格式。
log_destination='csvlog'
logging_collector=on
log_rotation_age=1d
log_rotation_size=128MB
log_min_duration_statement = 0
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

二、安装

pgbadger使用Perl实现,需要安装Perl相关的工具包:

yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
yum -y install perl-CPAN
cpan Text::CSV
cpan JSON::XS

下载最新的pgbadger,并安装:

tar zxvf pgbadger-9.2.tar.gz
cd pgbadger-9.2.tar.gz
perl Makefile.PL
make && sudo make install

三、使用

命令示例,分析postgresql-2018-08-31_094131.csv文件,输出pgreport.html文件:

#pgbadger postgresql-2018-08-31_094131.csv -o pgreport.html
[=======================> ] Parsed 110195 bytes of 110906 (99.36%), queries: 9, events: 3
LOG: Ok, generating html report...

通过报告文件基本上可以从宏观和微观上了解PG的运行情况.
pgreport.html文件部分截图:


pgBadger报告:概览
pgBadger报告:Events
pgBadger报告:Event Details

四、参考资料

pgbadger官网
pgbadger on GitHub:
pgbadger

PostgreSQL
Gupao