金仓数据库KingbaseES错误和警报监控

对于数据库运行过程中的错误,除了人工去查看数据库运行过程中产生的日志文件外,也可以使用 kbbadger 工具自动分析。

Kbbadger可以分析大型的日志文件。当日志文件足够长时,kbbadger可以自动检测日志文件的格式(syslog,stderr,csvlog或jsonlog)。

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

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

  • 总体统计

  • 占用时间最多的查询

  • 最常见的查询

  • 最常见的错误

  • 查询时间直方图

  • 会话时间直方图

  • 参与顶级查询的用户

  • 涉及顶级查询的应用程序

  • 生成最多取消的查询

  • 大多数查询已取消

  • 最耗时的准备/绑定查询

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

  • SQL查询统计信息

  • 临时文件统计

  • 检查点统计

  • 自动vacuum和自动分析统计

  • 已取消查询

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

  • 错误的类分布

在kbbadger的使用过程中,可以使用命令行选项来启用并行处理模式从而加快日志解析速度,使用-j命令行选项来指定解析使用的CPU核心数,使用-J命令行选项来并行解析的文件数,两个选项可以同时使用。另外,可以使用-A命令行选项来调整直方图的粒度。默认情况下,它们将报告每小时发生的每个主要查询/错误的平均值。

Kbbadger使用方法

1、配置kingbase.conf

在开始之前,必须在kingbase.conf中启用并设置一些配置指令。

您必须首先启用SQL查询日志记录才能进行解析:

log_min_duration_statement = 0

在这里,每条语句都会被记录,在繁忙的服务器上,您可能需要增加此值以仅记录持续时间较长的查询。请注意,不要启用log_statement,因为kbBadger不会解析它的日志格式并且如果您将log_statement设置为'all',则不会通过log_min_duration_statement指令记录任何内容。如果要保证系统性能,也可以使用log_duration来仅提供有关持续时间和查询数量的报告。有关更多信息,请参见下一章。

kbBadger支持任何设置到kingbase.conf文件的log_line_prefix中的自定义格式,只要它指定时间转义序列(%t,%m或%n)和与进程相关的转义序列(%p或%c)。

例如:--使用“ 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 = 'user=%u,db=%d,app=%a,client=%h '

--stderr输出的日志行前缀也可以是:
log_line_prefix = '%t [%p]: db=%d,user=%u,app=%a,client=%h '

--或用于syslog输出:
log_line_prefix = 'db=%d,user=%u,app=%a,client=%h '

--您也可以在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

注意

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

lc_messages='en_US.UTF-8'

2、使用kbBadger生成统计信息

kbbadger /var/log/kingbase.log

kbbadger /var/log/kingbase.log.2.gz /var/log/kingbase.log.1.gz /var/log/kingbase.log

kbbadger /var/log/kingbase/kingbase-2012-05-*

kbbadger --exclude-query="^(COPY|COMMIT)" /var/log/kingbase.log

kbbadger -b "2012-06-25 10:56:11" -e "2012-06-25 10:59:11" /var/log/kingbase.log

cat /var/log/kingbase.log | kbbadger -

kbbadger --prefix '%t [%p]: user=%u,db=%d,client=%h ' /sys_log/kingbase-2012-08-21*

kbbadger --prefix '%m %u@%d %p %r %a : ' /sys_log/kingbase.log

# Log line prefix with syslog log output

kbbadger --prefix 'user=%u,db=%d,client=%h,appname=%a' /sys_log/kingbase-2012-08-21*

# Use my 8 CPUs to parse my 10GB file faster, much faster

kbbadger -j 8 /sys_log/kingbase-10.1-main.log

详细请参见 –help

3、举例说明

$ ./kbbadger ./ sys_log/kingbase-2019-10-26_1544* -f stderr -J 12 -j 32

[========================>] Parsed 283210387 bytes of 283210387 (100.00%),

queries: 327810, events: 51

LOG: Ok, generating html report..

生成的统计信息效果图如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值