简介
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