OpenTSDB样例程序开发思路
通过典型场景,您可以快速学习和掌握OpenTSDB的开发过程,并且对关键的接口函数有所了解。
场景说明
假定用户开发一个应用程序,用于记录和查询城市的气象信息,记录数据如下表表1,表2和表3所示。
城市 |
区域 |
时间 |
温度 |
湿度 |
---|---|---|---|---|
Shenzhen |
Longgang |
2017/7/1 00:00:00 |
28 |
54 |
Shenzhen |
Longgang |
2017/7/1 01:00:00 |
27 |
53 |
Shenzhen |
Longgang |
2017/7/1 02:00:00 |
27 |
52 |
Shenzhen |
Longgang |
2017/7/1 03:00:00 |
27 |
51 |
Shenzhen |
Longgang |
2017/7/1 04:00:00 |
27 |
50 |
Shenzhen |
Longgang |
2017/7/1 05:00:00 |
27 |
49 |
Shenzhen |
Longgang |
2017/7/1 06:00:00 |
27 |
48 |
Shenzhen |
Longgang |
2017/7/1 07:00:00 |
27 |
46 |
Shenzhen |
Longgang |
2017/7/1 08:00:00 |
29 |
46 |
Shenzhen |
Longgang |
2017/7/1 09:00:00 |
30 |
48 |
Shenzhen |
Longgang |
2017/7/1 10:00:00 |
32 |
48 |
Shenzhen |
Longgang |
2017/7/1 11:00:00 |
32 |
49 |
Shenzhen |
Longgang |
2017/7/1 12:00:00 |
33 |
49 |
Shenzhen |
Longgang |
2017/7/1 13:00:00 |
33 |
50 |
Shenzhen |
Longgang |
2017/7/1 14:00:00 |
32 |
50 |
Shenzhen |
Longgang |
2017/7/1 15:00:00 |
32 |
50 |
Shenzhen |
Longgang |
2017/7/1 16:00:00 |
31 |
51 |
Shenzhen |
Longgang |
2017/7/1 17:00:00 |
30 |
51 |
Shenzhen |
Longgang |
2017/7/1 18:00:00 |
30 |
51 |
Shenzhen |
Longgang |
2017/7/1 19:00:00 |
29 |
51 |
Shenzhen |
Longgang |
2017/7/1 20:00:00 |
29 |
52 |
Shenzhen |
Longgang |
2017/7/1 21:00:00 |
29 |
53 |
Shenzhen |
Longgang |
2017/7/1 22:00:00 |
28 |
54 |
Shenzhen |
Longgang |
2017/7/1 23:00:00 |
28 |
54 |
该场景里记录了深圳市龙岗区在2017年7月1日零时的温度和湿度数据,这里通过OpenTSDB的方式建模实质上是两组数据点。
指标项(metric) |
城市(city) |
区域(region) |
Unix timestamp |
指标数值(value) |
---|---|---|---|---|
city.temp |
Shenzhen |
Longgang |
1498838400 |
28 |
city.temp |
Shenzhen |
Longgang |
1498842000 |
27 |
city.temp |
Shenzhen |
Longgang |
1498845600 |
27 |
city.temp |
Shenzhen |
Longgang |
1498849200 |
27 |
city.temp |
Shenzhen |
Longgang |
1498852800 |
27 |
city.temp |
Shenzhen |
Longgang |
1498856400 |
27 |
city.temp |
Shenzhen |
Longgang |
1498860000 |
27 |
city.temp |
Shenzhen |
Longgang |
1498863600 |
27 |
city.temp |
Shenzhen |
Longgang |
1498867200 |
29 |
city.temp |
Shenzhen |
Longgang |
1498870800 |
30 |
city.temp |
Shenzhen |
Longgang |
1498874400 |
32 |
city.temp |
Shenzhen |
Longgang |
1498878000 |
32 |
city.temp |
Shenzhen |
Longgang |
1498881600 |
33 |
city.temp |
Shenzhen |
Longgang |
1498885200 |
33 |
city.temp |
Shenzhen |
Longgang |
1498888800 |
32 |
city.temp |
Shenzhen |
Longgang |
1498892400 |
32 |
city.temp |
Shenzhen |
Longgang |
1498896000 |
31 |
city.temp |
Shenzhen |
Longgang |
1498899600 |
30 |
city.temp |
Shenzhen |
Longgang |
1498903200 |
30 |
city.temp |
Shenzhen |
Longgang |
1498906800 |
29 |
city.temp |
Shenzhen |
Longgang |
1498910400 |
29 |
city.temp |
Shenzhen |
Longgang |
1498914000 |
29 |
city.temp |
Shenzhen |
Longgang |
1498917600 |
28 |
city.temp |
Shenzhen |
Longgang |
1498921200 |
28 |
指标项(metric) |
城市(city) |
区域(region) |
Unix timestamp |
指标数值(value) |
---|---|---|---|---|
city.hum |
Shenzhen |
Longgang |
1498838400 |
54 |
city.hum |
Shenzhen |
Longgang |
1498842000 |
53 |
city.hum |
Shenzhen |
Longgang |
1498845600 |
52 |
city.hum |
Shenzhen |
Longgang |
1498849200 |
51 |
city.hum |
Shenzhen |
Longgang |
1498852800 |
50 |
city.hum |
Shenzhen |
Longgang |
1498856400 |
49 |
city.hum |
Shenzhen |
Longgang |
1498860000 |
48 |
city.hum |
Shenzhen |
Longgang |
1498863600 |
46 |
city.hum |
Shenzhen |
Longgang |
1498867200 |
46 |
city.hum |
Shenzhen |
Longgang |
1498870800 |
48 |
city.hum |
Shenzhen |
Longgang |
1498874400 |
48 |
city.hum |
Shenzhen |
Longgang |
1498878000 |
49 |
city.hum |
Shenzhen |
Longgang |
1498881600 |
49 |
city.hum |
Shenzhen |
Longgang |
1498885200 |
50 |
city.hum |
Shenzhen |
Longgang |
1498888800 |
50 |
city.hum |
Shenzhen |
Longgang |
1498892400 |
50 |
city.hum |
Shenzhen |
Longgang |
1498896000 |
51 |
city.hum |
Shenzhen |
Longgang |
1498899600 |
51 |
city.hum |
Shenzhen |
Longgang |
1498903200 |
51 |
city.hum |
Shenzhen |
Longgang |
1498906800 |
51 |
city.hum |
Shenzhen |
Longgang |
1498910400 |
52 |
city.hum |
Shenzhen |
Longgang |
1498914000 |
53 |
city.hum |
Shenzhen |
Longgang |
1498917600 |
54 |
city.hum |
Shenzhen |
Longgang |
1498921200 |
54 |
其中这两组指标数据点都有2个标签:
- 标签(tag):城市city、区域region
- 标签值(tag value):ShenZhen、Longgang
用户可以执行以下数据操作:
- 获取每天的监控数据,通过OpenTSDB的put接口将两个组数据点写入数据库中。
- 对已有的数据使用OpenTSDB的query接口进行数据查询和分析。
功能分解
根据上述的业务场景进行功能开发,需要开发的功能如表4所示。
序号 |
步骤 |
代码实现 |
---|---|---|
1 |
根据典型场景说明建立了数据模型 |
请参见配置OpenTSDB参数 |
2 |
写入指标数据 |
请参见写入OpenTSDB数据 |
3 |
根据指标项进行数据查询 |
请参见查询OpenTSDB数据 |
4 |
删除指定范围的数据 |
请参见删除OpenTSDB数据 |