HBase之Slow log

Slow log

hbase会记录慢查询日志,关键字包括responseTooSlow、responseTooLarge、operationTooSlow、and operationTooLarge。

记录条件

响应时间和响应的数据大小可由以下参数配置

  • hbase.ipc.warn.response.time :查询运行超过该值的时间(毫秒),将被日志记录。默认10s,设置为-1则禁用日志记录
  • hbase.ipc.warn.response.size :查询返回的数据超过该值(字节),将被日志记录。默认100M,设置为-1则禁用日志记录

日志示例

在这里插入图片描述
response相关字段默认会被截断,导致某些关键信息缺失
在这里插入图片描述

配置内存存储

用于配置一个环形缓冲区来存储

hbase.regionserver.slowlog.buffer.enabled=true
hbase.regionserver.slowlog.ringbuffer.size=配置缓冲区的大小

开启环形缓冲区后,可以从shell获取慢日志

// 获取所有rs的慢日志记录
hbase> get_slowlog_responses '*' 
// 获取某一rs的记录
hbase> get_slowlog_responses host187.example.com,60020,1289493121758
// 获取给定client ip的慢记录
hbase> get_slowlog_responses '*', {'CLIENT_IP' => '192.162.1.40:60225', 'LIMIT' => 100}
获取超限日志 使用get_largelog_responses命令

配置表存储

缓冲区会被覆盖,同时需要系统表来持久化存储。
每个regionserver会启动一个cron作业,从队列中检索日志并插入系统表。

hbase.regionserver.slowlog.systable.enabled=true 
日志会存储到系统表hbase:slowlog
hbase.slowlog.systable.chore.duration=10min 
间隔时间
hbase.regionserver.slowlog.systable.queue.size=1000
regionserver存储的条数,默认1000

系统表列族info,包含以下列

  • info:call_details
  • info:client_address
  • info:method_name
  • info:param
  • info:processing_time
  • info:queue_time
  • info:region_name
  • info:response_size
  • info:server_class
  • info:start_time
  • info:type
  • info:username
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值