Postgersql神器之pgbadger安装配置

article/2025/10/13 1:16:57

文章目录

  • 1.介绍
  • 2.安装pgbager
  • 3.参数调整
    • 3.1相关参数内容
    • 3.2 重启db
    • 4.配置apache
    • 5.安装libtext-csv-perl,
    • 6.手动产生报告
  • 7.排程自动产生分析报告
    • 7.2脚本授权:
    • 7.3设定crontab
    • 7.4检视pgbadger日志分析报告

1.介绍

pgbadger是postgresql 三大神器之一:pg_profile、pg_badger、pgfouine
其中pgbadger用分析postgresql的警告日誌,可以帮助使用者去寻找有关性能的蛛丝马迹,分析系统瓶颈
下载地址:https://github.com/darold/pgbadger/blob/master/ChangeLog
因为我的环境是postgresql 10.16,所以这个链接是基于postgresql 10.16的下载地址,如果postgresql是其他版本,需要去寻找对应版本的pgbadger.

postgres=# select version();version                                                                
--------------------------------------------------------------------------------------------------------------------------------------PostgreSQL 10.16 (Ubuntu 10.16-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit

2.安装pgbager

下载后,放入目标主机

unzip pgbadger-master.zip    ---因为我下载的是zip档
cd ./pgbadger-master        ---进入解压缩后的目录
perl Makefile.PL            ---会产生makefile文件
make && make install        ---安装

3.参数调整

3.1相关参数内容

log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
log_min_duration_statement = 1000
log_error_verbosity = default
log_statement = none
lc_messages='en_US.UTF-8'
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
log_rotation_size = 10240
log_rotation_size = 1440
log_truncate_on_rotation = off  

3.2 重启db

pg_ctl -D /etc/postgresql/10/main restart

4.配置apache

apt install apache2*
其他具体细节省略,可以参考apache的配置
sudo mkdir /var/www/html/pgbadger_reports     ---在apache默认的home目录下创建一个folder用于存放pgbadger产生的报告
sudo chown postgres /var/www/html/pgbadger_reports

5.安装libtext-csv-perl,

因为我的pg db的logfile是csv,pgbadger需要这个模组,否则它将无法解析csv格式的log

apt install libtext-csv-perl

6.手动产生报告

(适用于按需求产生,这个时间范围取决于rotation参数设定)

postgres=# select name,setting,unit from pg_settings where name like '%rotation%';name           | setting | unit 
--------------------------+---------+------log_rotation_age         | 1440    | minlog_rotation_size        | 10240   | kBlog_truncate_on_rotation | off     |    ----log轮转时会保留旧的logfile

这个时间范围可以按照需求调整,这儿是分析当天的所有日志(使用了$CURRDATE*)

export CURRDATE=`date +%Y-%m-%d`
/usr/local/bin/pgbadger -q /data/pg_log/postgresql-$CURRDATE*.csv -o $REPTDIR/reports_$CURRDATE.html -j 8 -f csv --prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
---注意:
1.如果logifle格式是csv,指定-f csv,如果是stderr指定-f stderr
2.--prefix,指定与log_line_prefix参数一致

7.排程自动产生分析报告

##7.1脚本内容:

#脚本位置及名称:#/backup/script/pg_logrpt.sh,
CURRDATE=`date +%Y-%m-%d`
PGDATA=/data
REPTDIR=/var/www/html/pgbadger_reports
if  [ ! -d $REPTDIR ]; thenmkdir -p $REPTDIR
fi
/usr/local/bin/pgbadger -q $PGDATA/pg_log/postgresql-$CURRDATE*.csv -o $REPTDIR/reports_$CURRDATE.html -j 8 -f csv --prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
echo "$PGDATA/pg_log/postgresql-$CURRDATE"
find $REPTDIR -name reports_*.html -mtime +8 -exec rm -rf {} \;

7.2脚本授权:

sudo chmod +755 /backup/script/pg_logrpt.sh  

7.3设定crontab

我设定每天夜间23:00开始分析并产生一份报告,当然可以根据主机负载状况自行调整

00 23 * * * /backup/script/pg_logrpt.sh

7.4检视pgbadger日志分析报告

下图链接中的pgbadger_reports就是前面apache设置中创建的存放报告的目录,访问这个目录可以看到产生的报告明细,点击即可查看
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/q5XpGkge.shtml

相关文章

BoltDB,RocksDB,PebbleDB,BadgerDb简介及测评

几个常用数据库性能分析 ​ 最近公司需要选型一款单机KV数据库来做业务承载,所以我对比了目前市面上比较流行的几个KV数据库并记录下来,包括boltdb,rocksdb,pebbledb,badgerdb四款,我将简单分析一下各数据库的特点,最后用自己的简…

智能优化算法-蜜獾算法Honey Badger Algorithm(附Matlab代码)

引言 提出了一种新的元启发式优化算法——蜜獾算法(Honey Badger Algorithm,HBA)。该算法受蜜獾智能觅食行为的启发,从数学上发展出一种求解优化问题的高效搜索策略。蜜獾挖掘和采蜜的动态搜索行为。于2021年发表在Mathematics and Computers in Simula…

惠普ipaq蓝牙键盘配对码_将旧的Compaq Ipaq从Ubuntu 5.10 Breezy Badger升级到8.10 Intrepid Ibex...

惠普ipaq蓝牙键盘配对码 Ive got an old Compaq Ipaq that I gave my then 10 year old niece to play with. I put Ubuntu 5.10 "Breezy Badger" on it. Fast forward to today, and she wants it refreshed. It hasnt been on the Internet for 3 years so it does…

BadgerDB 原理及分布式数据库的中应用与优化

Part 1 - BadgerDB 设计架构 Badger[1] 是基于论文:WiscKey: Separating Keys from Values inSSD-conscious Storage[2] 的思想利用 Go 语言进行设计实现的。 LSM-Tree 的优势在于将随机写转换为顺序写,将大块的内存连续地写入到磁盘,减少磁…

vue手风琴组件_Vue 2的Badger手风琴组件

vue手风琴组件 Vue-Badger手风琴 (vue-badger-accordion) Badger-Accordion Component for Vue 2.0. Vue 2.0的Badge-Accordion组件。 An accessible light weight, vanilla JavaScript accordion. 轻巧的香草JavaScript手风琴。 View demo 查看演示 Download Source 下载源 …

防追踪创安全网络环境 EFF推Beta版“Privacy Badger”扩展

自棱镜监控丑闻曝光之后在线安全和个人隐私成为网络上热门的话题,为此电子前沿基金会(EFF)今天推出了beta测试版本“Privacy Badger”扩展程序,为Chrome和Firefox浏览器用户打造安全的在线网络环境,阻挡一系列目前网络…

小米手机应用ICON角标Badger显示

项目有个新需求,像iOS一样给应用加个未读消息数量的角标,网上查了下这个开源框架还是不少的,这里介绍一个比较好用的,git地址:https://github.com/leolin310148/ShortcutBadger,集成和实现比较容易&#xf…

Honey Badger BFT共识协议详解

阅读建议 Honey Badger BFT应用了很多前人的研究,进行了巧妙的构造和优化,初次学习往往难以理解。在阅读时可以先大致了解各个构造块的基本作用,再了解总体的共识过程。之后回过头来深入研究各个构造块的原理,特别是BA算法&#…

badger和rocksDB性能对比

结论: 从最后一个表格来看,ssd只对batch_read和batch-write操作有优势,而且在多协程的情况下,这个优势也丢失了。从第二和第三个表格来看,badger的write操作比rocksDB慢了一个数量级,而batch_write操作badg…

Honey Badger BFT(异步共识算法)笔记

最近一直在看Honey Badger BFT共识协议,看了很多博客和一些相关的论文,但是发现有些博客存在着部分理解错误的地方,或者就是直接翻译2016年的那一篇论文,在经过半个多月的细读之后,打算整理出这篇博客,方便…

Badger、Leveldb

BadgerDB v2 介绍 2017年发行 来自DGraph实验室 开源 纯go语言编写 https://github.com/dgraph-io/badger https://godoc.org/github.com/dgraph-io/badger 内存模式 (所有数据存在内存,可能丢失数据)SSD优化键值分离 Key(00000*.sst) Valu…

badger 一个高性能的LSM K/V store

大家好,给大家介绍一下, 新晋的高性能的 K/V数据库: badger。 这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。 事实上,市面上已经有一些知名的基于LSM tree的k/v数据库…

badger框架学习 (一)

1.badger是什么? badger是一种高性能的 K/V数据库。 这是 dgraph.io开发的一款基于 log structured merge (LSM) tree 的 key-value 本地数据库, 使用 Go 开发。 2.badger有什么优势? 事实上,市面上已经有一些知名的基于LSM tre…

No Free Lunch定理

Stanford大学Wolpert和Macready教授提出了NFL定理,它是优化领域中的一个重要理论研究成果,意义较为深远。现将其结论概括如下: 定理1 假设有A、B两种任意(随机或确定)算法,对于所有问题集,它们…

少样本学习原理快速入门,并翻译《Free Lunch for Few-Shot Learning: Distribution Calibration》

ICLR2021 Oral《Free Lunch for Few-Shot Learning: Distribution Calibration》 利用一个样本估计类别数据分布 9行代码提高少样本学习泛化能力 原论文:https://openreview.net/forum?idJWOiYxMG92s 源码:https://github.com/ShuoYang-1998/ICLR202…

Android lunch分析以及产品分支构建

转自:http://blog.csdn.net/generalizesoft/article/details/7253901 Android lunch分析以及产品分支构建 一、背景 随着Android应用范围越来越广泛,用户对Android的需求也越来越趋于复杂,在开发Android应用以及底层产品驱动时&#xff0…

Free Lunch is Over (免费午餐已经结束)

原文链接:The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software 免费的午餐结束了 软件并行计算的基本转折点 继OO之后软件发展的又一重大变革——并行计算 你的免费午餐即将即将结束。我们能做什么?我们又将做什么&#xff1f…

Free Lunch for Few-Shot Learning: Distribution Calibration(ICLR 2021)

论文笔记 FSL 7】Free Lunch for Few-Shot Learning: Distribution Calibration(ICLR 2021) 下载地址 | 论文源码

2022-11-16 AndroidS 新建产品lunch

一、新建lunch方法 二、实际操作,可以lunch新的菜单。

6-3 There is No Free Lunch (40分)

One day, CYLL found an interesting piece of commercial from newspaper: the Cyber-restaurant was offering a kind of “Lunch Special” which was said that one could “buy one get two for free”. That is, if you buy one of the dishes on their menu, denoted by…