PG15.3.0源码编译安装日志插件pgbadger(上)

一、开启相关日志

修改后alter一定要重启,才会修改

pg_ctl restart -D /usr/local/pgsql/data -l logfile

按照下面的方法一个个修改。
在这里插入图片描述

log_destination = 'csvlog'      # 可选
logging_collector = on
log_min_duration_statement = 0
log_line_prefix = '%t [%p]: user=%u,db=%d,app=%a,client=%h '
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
lc_messages='C'
log_filename = 'postgresql-%Y%m%d_%H%M%S.log'   # 定义日志文件的名称
log_file_mode = 0600

二、源码编译按照pgbadger

  1. 下载源码安装包
    下载地址:https://github.com/darold/pgbadger/releases
    说明文档:https://github.com/darold/pgbadger

  2. 解压,进入pgbadger目录

cd /home/postgres/pgbadger-12.1/
  1. 编译安装
perl Makefile.PL

出现Writing Makefile for pgBadger,成功进入下一步!

make && make install

三、安装httpd、php

  1. 安装httpd
yum install httpd 
chkconfig httpd on     --添加到自动启动 
  1. 启动服务
service httpd start 

这里报错

Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
解决方法

添加apache用户

 groupadd apache
 #或
 useradd -g apche apache

【知识扩展】
这个错搜的解决方案原因都是端口号冲突,更改80端口号。可是我的端口号并不冲突,未被占用。于是在查找资料过程中,发现通过日志排查错误,于是这里记录一下。

  • 无论什么原因导致某服务启动失败,要学会看日志,日志一般都会有详细提示。

查看日志方式有二

  • journalctl -xe
  • 查看messages(下图截图采用此方法)
方式一[journalctl]
systemctl status httpd.service 或journalctl -xe查看详细
方式二[messages]

messages是系统日志,启动报错这里会有提示,tail -f 指动态查看

cd /var/log
tail -f messages

在这里插入图片描述
重新打开一个新的终端窗口,重启或启动httpd服务,输入

systemctl restart httpd
或者
service httpd start 

回到第一个日志窗口看最新日志,找到报错信息如下,最后解决。
在这里插入图片描述
3. 继续安装php

yum install php 

此时,/var目录下多了www目录
在这里插入图片描述

四、测试使用

pgbadger /usr/local/pgsql/data/log/postgresql-2023-05-22_092738.log -o pgreport.html

在这里插入图片描述
打开html
在这里插入图片描述
具体说明查看官方网站https://pgbadger.darold.net/

注:我忘记我之前是什么操作导致/usr/local/pgsql/data/log/下有log日志了,等我想起来再更新。
在这里插入图片描述

作者有话说

今天就先到这里,目前进度是成功安装好pgbadger,但还存在一些问题没有弄明白,如pgbadger具体使用用法等,如根据csv如何对应打开html?且打开的html没有数据,还得看看什么操作才会触发有数据浮动?

下篇估计是详细探究版:

  1. 需要确认一下具体使用用法,命令操作以及显示的html数据浮动问题
  2. check一下关于pgbadger开源实现这个功能的代码量有多少?
  3. 调研一下perl语言是否好上手?写成c++语言是否好写?
  4. check一下关于perl语言实现的pgbadger是如何与pg适配的?我应如何与opengauss适配呢?
  5. check关于pgbadger组件,在pg内核哪个部分进行的融合?找到接口,og效仿一下
  6. 调研日志分析,评估整体工作量。

大概下次需要check这么多样子 ?
s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值