opentsdb处理tagv指标数不够用的问题
2017-10-12 13:21
363 查看
1:简单介绍
opentsdb一个指标是有metrics、tagk、tagv 3部门组成的,在hbase tsdb-uid表里面存放,opentsdb metrics、tagk、tagv是自增型增长,在hbase表里面有个rowkey是“\x00”,里面记录了metrics、tagk、tagv的个数,每当新增一个tagv时,rowkey为"\x00",“id:tagv”的value就会增加1,一般opentsdb的tagv设置的是3个bytes,也就是tagv可以有2的24个,但是,当tagv的只越来越多,就会造成tagv指标数不够用,就会报出以下错误:“OMG
All Unique IDs fortagv on 3 bytes are already assigned!”,以下是分析和解决tagv指标不够用的步骤。
2:分析过程
opentsdb可以通过http接口和bash命令查看所有的tagv的值,如下:
http接口:http://IP:4242/api/suggest?type=tagv&max=3000&q=test其中type是类型(metrics、tagv、tagk) max:显示最大数 q:类似的
bash命令:tsdb uid grep tagv '.*'
一般http接口不适用于大规模的查询,自己测试了下,一般最大查询数能达到3000,再多就查询不出来了,一般都用bash命令来查询,将查询结果放到一个文本里面,然后慢慢分析哪些指标有用,哪些指标没用
3:操作步骤
1)停止opentsdb的服务
service opentsdbstop
2)删除没用的的tagv
bash命令:tsdb uid delete tagv tagv-name
3)一般来说,即使删除没用的指标,我们也不能创建新的tagv,因为hbase数据库里面rowkey为“\x00”的value没有减小,所以新创建不了,所以接下来就是删除“\x00”的值
进入hbase数据库:hbaseshell ;deleteall 'tsdb-uid',"\x00",'id:tagv'这样就可以删除
4)通过tsdb命令创建新的tagv,查看hbase数据库里面rowkey为“\x00”,名称是“id:tagv”是否有这一行
创建tagv:a. tsdbuid assign tagv test0001 b. tsdb
mkmetric test0001可以通过这两条命令创建tagv
habse数据库查看:hbase shell,然后通过 get'tsdb-uid',"\x00"查看有没有“id:tagv”的行
5)启动opentsdb的服务
service opentsdb start
6)检查数据是否丢失
grafana可以通过掉opentsdb的接口来做图形展示,可以查看之前的图形是否有变化,之前的数据是否丢失
4:操作总结
一般通过上述方法删除tagv这种方式,删除之后,如果如果tagv的uid和之前的一样,他会继承之前的数据,他不会去删除这个tagv所关联的监控数据
opentsdb一个指标是有metrics、tagk、tagv 3部门组成的,在hbase tsdb-uid表里面存放,opentsdb metrics、tagk、tagv是自增型增长,在hbase表里面有个rowkey是“\x00”,里面记录了metrics、tagk、tagv的个数,每当新增一个tagv时,rowkey为"\x00",“id:tagv”的value就会增加1,一般opentsdb的tagv设置的是3个bytes,也就是tagv可以有2的24个,但是,当tagv的只越来越多,就会造成tagv指标数不够用,就会报出以下错误:“OMG
All Unique IDs fortagv on 3 bytes are already assigned!”,以下是分析和解决tagv指标不够用的步骤。
2:分析过程
opentsdb可以通过http接口和bash命令查看所有的tagv的值,如下:
http接口:http://IP:4242/api/suggest?type=tagv&max=3000&q=test其中type是类型(metrics、tagv、tagk) max:显示最大数 q:类似的
bash命令:tsdb uid grep tagv '.*'
一般http接口不适用于大规模的查询,自己测试了下,一般最大查询数能达到3000,再多就查询不出来了,一般都用bash命令来查询,将查询结果放到一个文本里面,然后慢慢分析哪些指标有用,哪些指标没用
3:操作步骤
1)停止opentsdb的服务
service opentsdbstop
2)删除没用的的tagv
bash命令:tsdb uid delete tagv tagv-name
3)一般来说,即使删除没用的指标,我们也不能创建新的tagv,因为hbase数据库里面rowkey为“\x00”的value没有减小,所以新创建不了,所以接下来就是删除“\x00”的值
进入hbase数据库:hbaseshell ;deleteall 'tsdb-uid',"\x00",'id:tagv'这样就可以删除
4)通过tsdb命令创建新的tagv,查看hbase数据库里面rowkey为“\x00”,名称是“id:tagv”是否有这一行
创建tagv:a. tsdbuid assign tagv test0001 b. tsdb
mkmetric test0001可以通过这两条命令创建tagv
habse数据库查看:hbase shell,然后通过 get'tsdb-uid',"\x00"查看有没有“id:tagv”的行
5)启动opentsdb的服务
service opentsdb start
6)检查数据是否丢失
grafana可以通过掉opentsdb的接口来做图形展示,可以查看之前的图形是否有变化,之前的数据是否丢失
4:操作总结
一般通过上述方法删除tagv这种方式,删除之后,如果如果tagv的uid和之前的一样,他会继承之前的数据,他不会去删除这个tagv所关联的监控数据
相关文章推荐
- mysql 连接池 不够用问题
- 【机器学习理论】分类问题中常用的性能评估指标
- 解决内网254个IP地址不够用问题
- 准确率,召回率,F值,机器学习分类问题的评价指标
- 二分类问题模型指标
- [Oracle] 处理表空间不够用的问题
- 二分类问题的评价指标:ROC,AUC
- 机器学习之类别不平衡问题 (1) —— 各种评估指标
- 解决windows句柄不够用的问题
- C# 开启大地址内存以应对32位机器内存不够用问题
- .net数据库连接池问题:在同一页面使用一段时间后,提示超时,连接池不够用这类的提示!
- 分类问题性能指标汇总
- 【LEFT JOIN 实战记录】统计查询-问题明细指标查询
- Arduino 双机通信 +类型转换(解决nodemcu引脚不够用咋办的问题)(此方案已经淘汰,查看最新版本)
- 二类分类问题的常用评估指标 - 精确率与召回率
- 简单收集微信小程序formId,解决发送模板消息不够用的问题
- BIEE 11g 11.1.1.7.1跨事实指标不使用full outer join问题解决办法
- nodeJS express mysql 高并发时连接数不够用问题 以及如何处理高并发
- kaggle 各种评价指标之一 :Error Metrics for Regression Problems 回归问题错误度量
- 分类问题统计指标入门:混淆矩阵、召回、误检率、AUROC