PG 慢日志分析工具pgbadger
失效地址
https://github.com/dalibo/pgbadger
https://github.com/darold/pgbadger
perl Makefile.PL
make
make install
pgbader --help使用说明:https://github.com/darold/pgbadger- 使用shell截断日志: https://blog.garage-coding.com/2016/07/16/analyzing-postgres-logs-with-pgbadger.html
- pgbader使用截图样例:https://severalnines.com/blog/postgresql-log-analysis-pgbadger
- 配置日志格式前提
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
- 生成csv格式导入数据库:https://blog.csdn.net/shanzhizi/article/details/47616645
- 自动分析慢日志:https://blog.csdn.net/ctypyb2002/article/details/80733465
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的更多相关文章
- PostgreSQL日志分析工具
PostgreSQL日志分析工具 postgresqllinux PostgreSQL日志审计可以配合 pgbench.jmeter...测试工具制定测试计划测试性能,由于日志审计比较影响性能,在不需 ...
- 【转】gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...
- GC之七--gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...
- 日志分析工具ELK配置详解
日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...
- GoAccess日志分析工具使用文档
----Sevck 2016/3/4 17:24:13 #1软件说明: GoAccess是一款开源.实时,运行在命令行终端下的web日志分析工具.该工具提供快速.多样的HTTP状态统计,可以令管理员不 ...
- 可视化日志分析工具Gltail的安装与使用
可视化日志分析工具Gltail的安装与使用 GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...
- 强大的日志分析工具 -- NSLogger
转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...
- Log Parser 微软强大的日志分析工具
Log Parser(微软网站下载)是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件.XML 文件.CSV(逗号分隔符)文件,以及操作系统的事件日志.注册表.文件系统.A ...
- Mysql 配置慢查询日志(SlowQueryLog)以及使用日志分析工具
[ 查看系统关于慢查询的设置 ] mysql> show variables like '%slow%'; +---------------------------+-------------- ...
随机推荐
- 通过transmittable-thread-local源码理解线程池线程本地变量传递的原理
前提 最近一两个月花了很大的功夫做UCloud服务和中间件迁移到阿里云的工作,没什么空闲时间撸文.想起很早之前写过ThreadLocal的源码分析相关文章,里面提到了ThreadLocal存在一个不能 ...
- 《C Primer Plus(第6版)中文版》一1.12 复习题
本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.12节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1. ...
- vue elementui table 双击单元格实现编辑,聚焦,失去焦点,显示隐藏input和span
<el-table :data="tableData" class="tb-edit" style="width: 100%" ref ...
- Netty(一):ByteBuf读写过程图解
我们知道ByteBuf通过读写两个索引分离,避免了NIO中ByteBuffer中读写模式切换时,需要flip等繁琐的操作. 今天就通过一段测试代码以及图例来直观的了解下ByteBuf中的readInd ...
- #Week3 Linear Regression with Multiple Variables
一.Multiple Features 这节课主要引入了一些记号,假设现在有n个特征,那么: 为了便于用矩阵处理,令\(x_0=1\): 参数\(\theta\)是一个(n+1)*1维的向量,任一个训 ...
- 数据结构--链式栈--C++实现
#include <iostream> using namespace std; template<class T>class Stack { private: struct ...
- 拒绝老土!暗黑风格半透平面化主题—InfinityFreedom正式发布
经常听到“路由器界面土点就土点吧,凑合能用就成.” 诚然,路由器重要的是功能,但为什么要辣眼睛呢? 拯救喜欢折腾的你,抢救干涩的眼球,原创OpenWrt主题Infinity Freedom正式发布! ...
- 软路由OpenWrt(LEDE)2020.4.4编译 UnPnP+NAS+多拨+网盘+DNS优化
近期更新:2020.04.24编译-基于OpenWrt R2020.3.19版本. 2020.04.04更新记录: 修正国内域名加速脚本部分缺陷 内置打印机共享,ZeroTier 新增多套主题 S ...
- 海外网站如何通过代理IP进行采集?
海外网站如何通过代理IP进行采集? 我们在做爬虫的时候,经常会遇到这种情况,爬虫最初运行的时候,数据是可以正常获取的,一切看起来都那么的美好,然而,不一会儿,就可能会出现403 Forbidden , ...
- FPGA代码优化方法和准则