pgBadger日志分析器,由Darold创建。pgBadger是一种快速、简便的工具,用于分析SQL通信量,并使用动态图来创建 HTML5报告。
适用系统:linux操作系统
##下载和安装
https://github.com/darold/pgbadger/releases
wget https://github.com/darold/pgbadger/archive/v10.0.tar.gz
tar -zxvf pgbadger-10.0.tar.gz
perl Makefile.PL
make && make install
语法使用
pgbadger [options] logfile […]
常用参数
参数 | 说明 |
---|---|
-f,–format logtype | 指定输出的格式syslog, syslog2, stderr, jsonlog,cvs, pgbouncer, logplex, rds and redshift |
-d,–dbname database | 分析指定的数据库 |
-b,–begin datetime | 解析指定时间日志,开始时间或日期 |
-e,–end datetime | 解析指定时间日志,结束时间或日期 |
-o | 指定输入的文件 |
-C,–nocomment | 移除查询中的备注信息 |
–exclude-query regex | 排除符合正则表达式的内容不需要分析 |
-a,–average minutes | 图表时间间隔,默认5min |
-A,–histo-average | 构建直方图的分钟数的查询,默认60min |
-c,–dbclient host | 解析执行ip访问的日志信息 |
-j,–jobs number | 并行解析的进程数量 |
-J,–Jobs number | 并行执行解析的日志文件数量 |
-u,–dbuser username | 解析指定的用户 |
-t,–top number | 存储或显示查询数量,默认20 |
-S,–select-only | 只输出select查询报告 |
-v,–verbose | 详细显示信息 |
-q,–quiet | 不打印进程信息 |
-w,–watch-mode | 只显示错误报告 |
日志输出参数格式选项:
%t:表示时间戳
%p:表示进程号
%r:表示客户端的主机和端口
%d:表示数据库名
%u:表示用户名
Examples:
##标准文本格式输出日志
pgbadger -f stderr --prefix=’%t:%r:%u@%d:[%p]:’ -o /data/pgbadger.html
##单个分析
pgbadger /var/log/postgresql.log
##批量分析
pgbadger /var/log/postgresql/postgresql-2021-09-*
##分析日志文件可以是多种格式的,如:压缩格式或者文本格式
pgbadger /var/log/postgres.log.2.gz /var/log/postgres.log.1.gz /var/log/postgres.log
##指定排除分析
pgbadger --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
##分析执行时间段的日志信息
pgbadger -b “2012-06-25 10:56:11” -e “2012-06-25 10:59:11” /var/log/postgresql.log
#指定使用的CPU数据进行解析
pgbadger -j 8 /pglog/postgresql-10.1-main.log
##下载aws上postgresql_instance的日志信息
aws rds download-db-log-file-portion --region $region --db-instance-identifier $postgresql_instance --log-file-name error/postgresql.log --starting-token 0 --output text > aa.log
详细信息–官网文档:https://pgbadger.darold.net/documentation.html