金仓数据库KingbaseES-kbbager工具介绍

85 阅读2分钟

简介

kbbadger 是一个命令行工具,可以分析大型的日志文件。当日志文件足够长时,kbbadger可以自动检测日志文件的格式(syslog,stderr,csvlog或jsonlog)。

kbbadger生成的所有图表都是可缩放的并且可单独下载为PNG文件。另外,在生成的报告中SQL查询将突出显示。

kbbadger生成的报告中关于SQL查询的信息

报告提供的每小时的统计图表内容

总体统计

SQL查询统计信息

占用时间最多的查询

临时文件统计

最常见的查询

检查点统计

最常见的错误

自动vacuum和自动分析统计

查询时间直方图

已取消查询

会话时间直方图

错误事件(死机、致命、错误和警告)

参与顶级查询的用户

/

涉及顶级查询的应用程序

/

生成最多取消的查询

/

大多数查询已取消

/

最耗时的准备/绑定查询

/

kbbadger生成的报告中包含的关于SQL查询的信息有:

  • 总体统计
  • 占用时间最多的查询
  • 最常见的查询
  • 最常见的错误
  • 查询时间直方图
  • 会话时间直方图
  • 参与顶级查询的用户
  • 涉及顶级查询的应用程序
  • 生成最多取消的查询
  • 大多数查询已取消
  • 最耗时的准备/绑定查询

报告也会提供每小时的统计图表,其内容包括:

  • SQL查询统计信息
  • 临时文件统计
  • 检查点统计
  • 自动vacuum和自动分析统计
  • 已取消查询
  • 错误事件(死机、致命、错误和警告)
  • 错误的类分布

命令行参数及使用说明

命令行参数为:kbbadger [ options ...] logfile ...

其中,options如下:

-e (end datetime):通过日志解析数据的结束时间

-b (begin datetime):通过日志解析数据的开始时间

-p (prefix string):kingbase.conf文件中使用的log_line_prefix的值

-J (Jobs number):指定并行解析的日志文件的数量,默认为1,即单线解析

-j (jobs number):指定同时运行的工作数量,默认为1,即单线工作

`` `` (exclude-query regex):将与'regex'匹配的查询排除在报告之外

-f (format logtype):指定日志的文件格式

参数配置

使用kbbadger必须在kingbase.conf中进行如下配置:

# 启用SQL查询日志记录才能进行解析

log_min_duration_statement = 0

# 数据库日志中的内容必须为英文,否则kbbadger可能无法解析日志中的内容

lc_messages='en_US.UTF-8'

# 不启用log_statement,即设置为none,若将log_statement设置为'all',则不会通过log_min_duration_statement指令记录任何内容

log_statement='none'

# 也可以在kingbase.conf中启用其他参数,以从日志文件中获取更多信息

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

参考资料

产品手册