如何在OpenTSDB中插入数据(时间序列数据库)

时间:2011-12-15 13:09:59

标签: java hbase opentsdb

我是OpenTSDB的新手。我以某种方式设法安装和配置OpenTSDB,但我不知道如何从客户端将数据放入OpenTSDB。你们中的任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:4)

您是否阅读过getting started guide

您有几种选择。启动后,通过./tsdb mkmetric mymetric.data_1 mymetric.data_2创建指标,您可以批量导入以

形式编写的文件

metric_name时间戳值标签,例如

mymetric.data_1 1295643636 48 a=foo

然后你可以./tsdb import file

另一种方法是以与上面相同的形式“telnet”命令到服务器,但使用put关键字,如echo "put mymetric.data_1 1295643636 48 a=foo" | nc -w 15 tsdHost tsdPort(linux方式:-))

答案 1 :(得分:2)

简短的回答是那些“put name timestamp value [tags]”命令是通过TCP / IP向OpenTSDB添加数据的网络协议。因此,从Java程序中,您可以打开到TSD端口的TCP套接字并开始编写命令来添加数据。

显然,这仍然为读者留下了许多细节。

您没有在问题中指明您是否收集了要存储的时间序列数据。从应用程序定期将数据推送到TSD的复杂程度取决于您在那里所做的事情。如果您使用优秀的Yammer/Coda Hale Metrics library来收集数据(在Java中,实际上没有更明智的方法来实现它,我知道)

度量标准包括一个记者界面,其中包含其他统计信息库(如Graphite和Ganglia)的多个实现。你可以很容易地为OpenTSDB实现一个(事实上,有人已经有了 - 我试图在github上找到pull请求但是失败了;当我找到它时我会更新它)。

答案 2 :(得分:0)

查看OpenTSDB 2.0文档:                  http://opentsdb.net/docs/build/html/ 这将为在openTSDB中添加数据提供更好的洞察力。此外, openTSDB2.0具有HTTP api来放置数据

答案 3 :(得分:0)

您可以在文档中阅读Input Methods。 另外,我发现阅读Data Specification对于理解每个时间序列包含的内容非常有用。