(三)Pgbadger监控

  • Post author:
  • Post category:其他



#简介



pgbadger,




这是

一款使用






Perl






实现的轻量级日志分析工具





。通过分析




PG




的日志文件,以图表的形式展现数据库的各项活动和状态信息。专为提高速度而构建,可以完整地报告




PostgreSQL




日志文件。它是一个单一的小型




Perl




脚本,其性能优于大多数其他




PostgreSQL




日志分析器。



特性





1.




图表输出




:




输出的图表可单独下载为




PNG




文件。



2.




并行分析




:




使用




-j









-J




指定并行度





3.




压缩文件




:




可支持




gzip




压缩文件





4.




增量报告




:




支持增量模式




,




比如按天分析




,




最后可以叠加为按周




/




月分析


#下载安装








GitHub




下载




(https://github.com/darold/pgbadger)










tar xzf pgbadger-11.x.tar.gz







cd pgbadger-11.x /







perl Makefile.PL







make && sudo make install




#配置


1.


打开


SQL


日志记录



log_min_duration_statement=0



如果执行的




SQL




语句超过了这个参数设置的值,就会记录到日志里面,类似于




MySQL




中的慢查询日志。默认值为




-1




,不记录到日志。当前我们系统设置的是




1000ms




,也就是大于




1s









SQL




语句将被记录到日志。


2.


设置日志的前缀信息



这个分两种情况。和




log_destination




参数有关系。



如果是“




stderr




”日志格式,




log_line_prefix




必须至少为:



log_line_prefix=’









t[









p]













日志的前缀也可以添加用户、数据库名称,应用程序名称和客户端




IP




地址,如下所示:



log_line_prefix=’









t[









p]









user=









u









db=









d









app=









a









client=









h’



如果是“




syslog




”日志格式,




log_line_prefix




就是:



log_line_prefix=’user =









u









db=









d









app=









a









client=









h’


3.


打开其他日志记录



为了让




pgBadger




能够更好的分析,需要开启一些基础记录功能。





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







log_statement=none





这里不要




log_statement




不要启用,因为




pgBadger




不会解析它的日志格式。


4.


设置字符集



最后一个是设置字符集。要确保自己的语言环境是英文的。



lc_messages=’en_US.UTF- 8








以上参数设置完成之后,进入到




pgbadger




目录运行,指定日志文件输出成




html




格式。





pgbadger /disk1/postgresql12/log/postgresql-2021-12-30_000000.log






或者







pgbadger –prefix ‘%t [%p]: user=%u,db=%d’ /disk1/postgresql12/log/postgresql-2020-11-26_093001.log -o 11-26_093001.html





版权声明:本文为qq_39744051原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。