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数据  |