• 金仓数据库KingbaseES客户端应用参考手册--21. kbbadger


    21.1. 简介 

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

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

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

    • 总体统计

    • 占用时间最多的查询

    • 最常见的查询

    • 最常见的错误

    • 查询时间直方图

    • 会话时间直方图

    • 参与顶级查询的用户

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

    • 生成最多取消的查询

    • 大多数查询已取消

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

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

    • SQL查询统计信息

    • 临时文件统计

    • 检查点统计

    • 自动vacuum和自动分析统计

    • 已取消查询

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

    • 错误的类分布

    21.2. 命令行参数 

    kbbadger options ...] logfile ...

    21.3. 参数说明 

    kbbadger接受下列命令行参数:

    -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'匹配的查询排除在报告之外,例如"^(VACUUM``COMMIT)",并且你可以多次使用此参数。

    -f --format logtype

    指定日志的文件格式。例如syslog, syslog2, stderr, csv 和 bouncer,当不使用kbLogAnalyse 时可以使用 stderr 自动识别。

    21.4. 配置参数 

    必须在kingbase.conf中启用并设置一些配置指令

    # 您必须首先启用SQL查询日志记录才能进行解析
    log_min_duration_statement = 0
    
    # 用于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'
    

    注意

    不要启用log_statement,因为kbBadger不会解析它的日志格式并且如果您将log_statement设置为'all',则不会通过log_min_duration_statement指令记录任何内容。

    log_statement='none'
    

    21.5. 错误信息诊断 

    21.6. 示例 

    要通过所有2019-10-26 15:44 的日志生成报告。

    $ 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...
    

    最终会生成html文件

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

    正在上传…重新上传取消正在上传…重新上传取消

    其他情况下实例

    $ 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
    

    21.7. 备注 

    21.8. 参考 

     

  • 相关阅读:
    vue使用ant design Vue中的a-select组件实现下拉分页加载数据
    ML.NET 更新
    SQL每日一练(牛客新题库)——第1天: 基础查询
    《大数据之路:阿里巴巴大数据实践》-第2篇 数据模型篇 -第11章 事实表设计
    Spark SQL执行多次join后越来越慢,最后出现OOM
    servlet -> spring-mvc -> spring-boot-> spring-security目录
    动态获取权限,文件管理器选择文件,I/O流
    springboot 整合clickhouse
    【React】面试题5题
    EF core 如何撤销对对象的更改
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126702243