我是 OpenTSDB 的新手。我以某种方式设法安装和配置 OpenTSDB,但我不知道如何从客户端将数据放入 OpenTSDB。你们中的任何人都可以帮助我吗?
4 回答
您是否阅读了入门指南
你有几个选择。一旦开始,并通过创建指标./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 way :-) )
简短的回答是那些“ put name timestamp value [tags]
”命令是通过 TCP/IP 向 OpenTSDB 添加数据的网络协议。因此,从您的 Java 程序中,您可以打开一个到 TSD 端口的 TCP 套接字并开始编写命令来添加您的数据。
显然,这仍然给读者留下了很多细节练习。
您没有在您的问题中指定如何或即使您正在收集要存储的时间序列数据。定期将数据从您的应用程序推送到 TSD 有多复杂取决于您在那里执行的操作。如果您使用出色的Yammer/Coda Hale Metrics 库来收集数据(据我所知,在 Java 中,确实没有更巧妙的方法可以做到这一点)
Metrics 包括一个报告接口,其中包含其他统计存储库(如 Graphite 和 Ganglia)的多个实现。您可以轻松地为 OpenTSDB 实现一个(事实上,有人已经有了 - 我试图在 github 上找到拉取请求但失败了;我会在找到它时更新它)。
查看 OpenTSDB 2.0 文档: http : //opentsdb.net/docs/build/html/ 这将为将数据添加到 openTSDB 提供更好的洞察力。此外,openTSDB2.0 有 HTTP api 来放置数据。
您可以阅读文档中的输入法。此外,我发现阅读Data Specification对了解每个时间序列的组成很有用。