此文档的定位:便于JAVA程序员快速了解OpenTSDB,以及利用OpenTSDB的API进行简单的开发,至于具体的搭建以及调优之类不作讨论。结构如下: 一. 是什么?有什么作用 二、结构,怎么干 三. 主要API
四、在开发中如何运用这些API
一、opentsdb是什么
基于Hbase的分布式的,可伸缩的时间序列数据库(本质就是一个数据库,通过TCollector收集监控对象的各个指标,按时间的序列存入hbase中。通过查询在一段时间内某个指标的参数,经过处理展示给用户,用户可以看到各个时间点的指标值和这段时间内的变化,达到监控的目的)
主要用途,就是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储,查询。
二、OpenTSDB的结构
Opentsdb本质上是一个数据库,因此须了解它的存储结构,包括最小的存储单位以及存储单元等
存储到OpenTSDB的数据,是以metric为单位的,metric就是1个监控项,譬如服务器的话,会有CPU使用率、内存使用率这些metric;
OpenTSDB使用HBase作为存储,由于有良好的设计,因此对metric的数据存储支持到秒级别;
OpenTSDB支持数据永久存储,即保存的数据不会主动删除;并且原始数据
会一直保存(有些监控系统会将较久之前的数据聚合之后保存)
在了解整个结构之前先学习些基础概念
2.1、OpenTSDB存储的相关概念
metric:proc.loadavg.1m timestamp:1234567890 value:0.42
tags:host=web42,pool=static
DataPoint:即在某个时间点的数值。包括以下: Metric:指标项
Value:一个Value表示一个metric的实际数值 Timestamp:即时间戳,用来描述Value是什么时候的 Tags:标签,由tagk和tagv组成 tagk=takv
2.2、tsdb和tsdb-uid
OpenTSDB使用Hbase存储,核心的存储是两张表 ,tsdb和tsdb-uid (1) tsdb 结构如下
1)RowKey的设计
RowKey其实和上面的metric|timestamp|value|host=web42|pool=static类似; 但是区别是,OpenTSDB为了节省存储空间,将每个部分都做了映射。 在OpenTSDB里面有这样的映射,metric-->3字节整数、tagk-->3字节整数、tagv-->3字节整数
上图的映射关系为,proc.loadavg.1m-->052、host-->001、web42-->028、pool-->047、static-->001 2)column的设计
为了方便后期更进一步的节省空间。OpenTSDB将一个小时的数据,保存在一行里面。
所以上面的timestamp1234567890,会先模一下小时,得出1234566000,然后得到的余数为1890,表示的是它是在这个小时里面的第1890秒; 然后将1890作为column name,而0.42即为column value
(2)tsdb-uid
保存的就是tsdb中rowkey的映射关系
2.3、OpenTSDB的总体结构
名词解释: Servers:服务器
C:Collector,收集数据,推送数据
TSD:TSD是对外通信的无状态的服务器,Collector可以通过TSD简单的RPC协议推送监控数据;另外TSD还提供了一个web UI页面供数据查询;另外也可以通过脚本查询监控数据,对监控数据做报警。
HBase:TSD收到监控数据后,是通过AsyncHbase这个库来将数据写入到HBase;AsyncHbase是完全异步、非阻塞、线程安全的Hbase客户端,使用更少的线程、锁以及内存,可以提供更高的吞吐量,特别对于大量的写操作。 2.4、OPENTSDB的界面
在浏览器中输入对应的地址即可显示
三. 主要API
OpenTSDB的API为HTTP API所以只要直接在浏览器中输入对应的URL就可调用,格式为
OpenTSDB
的域名+API
名称。如
http://10.1.170.204:4242/api/suggest?type=metrics&q=sys&max=10,结果如下
OpenTSDB的API如下 ? ? ? ? ? ? ? ? ?
/s
/api/aggregators /api/annotation /api/config /api/dropcaches /api/put /api/query /api/search /api/serializers
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库OpenTSDB的简单入门在线全文阅读。
相关推荐: