更新时间:2024-08-03 GMT+08:00

OpenTSDB样例程序开发思路

通过典型场景,您可以快速学习和掌握OpenTSDB的开发过程,并且对关键的接口函数有所了解。

场景说明

假定用户开发一个应用程序,用于记录和查询城市的气象信息,记录数据如下表表1表2表3所示。

表1 原始数据

城市

区域

时间

温度

湿度

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的方式建模实质上是两组数据点。

表2 指标数据点1

指标项(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

表3 指标数据点2

指标项(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所示。

表4 在OpenTSDB中开发的功能

序号

步骤

代码实现

1

根据典型场景说明建立了数据模型

请参见配置OpenTSDB参数

2

写入指标数据

请参见写入OpenTSDB数据

3

根据指标项进行数据查询

请参见查询OpenTSDB数据

4

删除指定范围的数据

请参见删除OpenTSDB数据