PostgreSQL DBA(3) - 日誌分析工具pgbadger簡介

husthxd發表於2018-08-31

本節簡單介紹了一款用於分析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檔案部分截圖:


PostgreSQL DBA(3) - 日誌分析工具pgbadger簡介
pgBadger報告:概覽
PostgreSQL DBA(3) - 日誌分析工具pgbadger簡介
pgBadger報告:Events
PostgreSQL DBA(3) - 日誌分析工具pgbadger簡介
pgBadger報告:Event Details

四、參考資料

pgbadger官網
pgbadger on GitHub:
pgbadger

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2374882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章