失效地址

https://github.com/dalibo/pgbadger

https://github.com/darold/pgbadger

https://blog.csdn.net/ctypyb2002/article/details/80733465

perl Makefile.PL
make
make install
log_destination = 'stderr'
# 日志记录类型,默认是stderr,只记录错误输出
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
# log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '
log_checkpoints = on
# 系统一天之类发生了多少次checkpoint,以及每次checkpoint的一些详细信息,频繁的checkpoint影响系统性能
log_connections = on
# log_connections --用户session登陆时是否写入日志,默认off
log_disconnections = on
# 用户session退出时是否写入日志,默认off
log_lock_waits = on
# 一天内有多少个超过死锁时间的锁发生,默认是off,可以设置开启。这个可以区分SQL慢是资源紧张还是锁等待的问题
log_temp_files = 0
log_autovacuum_min_duration = 0
log_error_verbosity = default
log_statement = off
lc_messages='C'
Log_min_duration_statement = 1000
# 单位ms,超过1s为慢查询
# 其他日志
logging_collector --是否开启日志收集开关,默认off,开启要重启DB
log_directory --日志路径,默认是$PGDATA/pg_log
log_filename --日志名称,默认是postgresql-%Y-%m-%d_%H%M%S.log
log_rotation_age --保留单个文件的最大时长,默认是1d,也有1h,1min,1s,个人觉得不实用
log_rotation_size --保留单个文件的最大尺寸,默认是10MB
pg_statement = log_statement
# 参数值是none,即不记录,可以设置ddl(记录create,drop和alter)、mod(记录ddl+insert,delete,update和truncate)和all(mod+select)
  • 使用pg_ctl reload参数log_line_prefix可能不会生效,在psql下直接更改
alter system set log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,client=%h ';
  • 生成html格式
pgbadger --prefix='%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' postgresql-5.log -f stderr

SELECT pg_reload_conf();

shell脚本分析log

log_filename = 'postgresql-%a_39.19-%Y-%m-%d_%H%M%S.log'

  • 同步日记

#!/bin/sh
rsyncuser=scm
rsync_hostip='192.168.32.57'
rsync_binlog_monule=pglog
logdir=/data/var/lib/pgsql/9.4/data/pg_log/
tmpdir=/tmp/pglog/
filename=39.2_log.tar.gz
mkdir -p $tmpdir&&cd $logdir&&tar -zcf ${tmpdir}${filename} *|| exit 1
echo "1" > /tmp/39.2.flag&& flag=/tmp/39.2.flag
rsync -az --password-file=/etc/rsyncd.password ${tmpdir}${filename} $rsyncuser@${rsync_hostip}::$rsync_binlog_monule&&rsync -az --password-file=/etc/rsyncd.password $flag $rsyncuser@${rsy
nc_hostip}::$rsync_binlog_monule&&cd ${tmpdir}&& rm -rf ${tmpdir}${filename} || exit 1
  • 分析日志
#!/bin/sh
baslog='/backup/pglog/pg_log/'
pgoutput='/backup/pglog/pgbadger/'
workdir='/backup/pglog/tmp/'
tarfiledir=${baslog}
curtime=`date "+%F_%H%M%S"`
# 解压tar文件到tmp目录
for tarfile in `ls ${baslog}|grep "tar.gz"`
do
echo $tarfile
if [ $tarfile = '39.2_log.tar.gz' ];then
tar -zxf ${baslog}${tarfile} -C ${workdir}&&tar -zxf ${baslog}${tarfile} -C ${baslog}192.168.39.2
cd ${workdir}&&file=`ls ${workdir}`&& /usr/local/bin/pgbadger --prefix='%t [%p]: [%l-1] user=%u,db=%d,client=%h ' ${workdir}${file} -f stderr -o ${pgoutput}39.2_${curtime}.html&&rm -rf /backup/pglog/tmp/*.log&&rm -rf ${baslog}${tarfile} elif [ $tarfile = '39.20_log.tar.gz' ];then
tar -zxf ${baslog}${tarfile} -C ${workdir}&&tar -zxf ${baslog}${tarfile} -C ${baslog}192.168.39.20
cd ${workdir}&&file=`ls ${workdir}`&& /usr/local/bin/pgbadger --prefix='%t [%p]: [%l-1] user=%u,db=%d,client=%h ' ${workdir}${file} -f stderr -o ${pgoutput}39.20_${curtime}.html&&rm -rf /backup/pglog/tmp/*.log&&rm -rf ${baslog}${tarfile}
fi
done

PG 慢日志分析工具pgbadger的更多相关文章

  1. PostgreSQL日志分析工具

    PostgreSQL日志分析工具 postgresqllinux PostgreSQL日志审计可以配合 pgbench.jmeter...测试工具制定测试计划测试性能,由于日志审计比较影响性能,在不需 ...

  2. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  3. GC之七--gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  4. 日志分析工具ELK配置详解

    日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...

  5. GoAccess日志分析工具使用文档

    ----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不 ...

  6. 可视化日志分析工具Gltail的安装与使用

    可视化日志分析工具Gltail的安装与使用      GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...

  7. 强大的日志分析工具 -- NSLogger

    转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...

  8. Log Parser 微软强大的日志分析工具

    Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...

  9. Mysql 配置慢查询日志(SlowQueryLog)以及使用日志分析工具

    [ 查看系统关于慢查询的设置 ] mysql> show variables like '%slow%'; +---------------------------+-------------- ...

随机推荐

  1. 《Metasploit魔鬼训练营》第一章实践作业

    <Metasploit魔鬼训练营>第一章实践作业 1.搜集Samba服务usermap_script安全漏洞的相关信息,画出该安全漏洞的生命周期图,标注各个重要事件点的日期,并提供详细描述 ...

  2. KMP & AC自动机

    KMP void kmp(char t[],char p[]) { int n=strlen(t),m=strlen(p); int *f=new int[m]; f[0]=f[1]=0; for(i ...

  3. zabbix3.x.x升级教程

    1:停掉正在运行的zabbix服务,确保没有新数据写入数据库. /etc/init.d/zabbix_server stop 2:备份原zabbix的数据库数据,以及相关文件. mysqldump - ...

  4. Pointers and Memory

    Stanford CS Education Library #102 一.Basic Pointers 指针主要有两个用途:使不同的代码段共享信息.方便链表(树)的处理. 指针示意图: derefer ...

  5. django项目的uwsgi方式启停脚本

    #!/bin/sh NAME="fushentang" if [ ! -n "$NAME" ];then echo "no arguments&quo ...

  6. 记一次真实的线上事故:一个update引发的惨案!

    目录 前言 项目背景介绍 要命的update 结语 前言   从事互联网开发这几年,参与了许多项目的架构分析,数据库设计,改过的bug不计其数,写过的sql数以万计,从未出现重大纰漏,但常在河边走,哪 ...

  7. python模块之time and datetime

    time # python3 # coding = utf-8 import time timestamp = time.time() print('timestamp:%s, type: %s' % ...

  8. 如何 Laravel 中验证 zip 压缩包里的文件?

    在 Laravel 程序中上传文件时,请求验证可以很好验证上传的文件.你可以要求上传文件必须为 图片 , 也可以限制文件字节 大小 , 也可以根据 mime types 或者 文件扩展名 过滤文件. ...

  9. DataHub——实时数据治理平台

    DataHub 首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关. 数据治理是大佬们最近谈的一个火热的话题.不管国家层面,还是企业层面现在对这个问题是越 ...

  10. 选择结构(if、switch)

    3.2  用if语句实现选择结构 什么是选择结构 单分支if语句 双分支if语句 多分支if语句 1.什么是选择结构? 选择结构又称为分支结构,是根据给定的条件是否成立来决定程序的执行流程. 用if语 ...