使用 HTTP POST 将 OpenTSDB 写入 Bigtable 不起作用(使用 Kubernetes(
Posted
技术标签:
【中文标题】使用 HTTP POST 将 OpenTSDB 写入 Bigtable 不起作用(使用 Kubernetes(【英文标题】:Writing OpenTSDB to Bigtable with HTTP POST not working (using Kubernetes( 【发布时间】:2019-05-28 16:36:03 【问题描述】:更新了更多信息
我正在尝试按照本指南在 Bigtable 上设置 OpenTSDB: https://cloud.google.com/solutions/opentsdb-cloud-platform
效果很好,一切都很好。
现在我尝试使用 LoadBalancer(类型)打开 opentsdb-write
服务。似乎也很好用。
注意:使用 GCP 负载平衡器。
然后我使用 insomnia 将 POST 发送到 ./api/put
端点 - 我得到了预期的 204
(此外,使用 ?details
没有显示错误,?sync
也没有显示错误)(参见 @ 987654322@)
查询数据时(./api/query
上的 GET),我看不到数据(在 grafana 中效果相同)。另外,我没有看到在 bigtable 的 tsdb
表中添加了任何数据。
我的结论:没有数据写入 Bigtable,虽然 tsd 返回 204。
有趣的事实:metric 已创建(我可以在 Bigtable (cbt read tsdb-uid
) 中看到它,并且 opentsdb-ui(和 grafana)中的自动完成功能会立即选择指标。但是没有数据。
当我在教程中使用 Heapster-Example 时,一切正常。
还有有趣的部分(对我来说):
注意:数据出现了几次,有大量延迟或在停止/重新启动 kubernetes 集群之后。突然。我目前无法重现。
我一定错过了一些非常简单的东西。
注意:我在日志 (stackdriver) 和 UI (opentsdb UI)、bigtable 和 Kubernetes 中都没有看到任何错误,也没有我能想到的任何错误。
注意:我使用的配置与教程中的链接相同。
我正在使用的 put(参见 204):
如果我添加?details
,则表示成功:
【问题讨论】:
我们遇到了同样的错误,并发现当编写一个指标大约 25 次时,它会莫名其妙地出现。但是我们还没有发现问题。 感谢@dbankk 的评论 - 我刚刚发现相同的,必须在某个地方保留。一旦它有大约 10 个数据点,它就会将它们写入 bigtable。到目前为止,我看不到 (1.) 数据在此过程中丢失以及 (2.) 如何解决它。将调查更多 【参考方案1】:我的猜测是这与 opentsdb 刷新频率有关。当 tsdb 集群关闭时,会自动刷新。我不是 100% 确定,但我认为 tsd.storage.flush_interval
配置管理该过程。
您可以通过 google-cloud-bigtable-discuss 小组联系维护库的团队,您可以通过Cloud Bigtable support page 联系该小组,以进行更多细致入微的讨论。
作为一个仅供参考,我们 (Google) 正在积极地将 https://cloud.google.com/solutions/opentsdb-cloud-platform 更新到最新版本的 OpenTSDB 和 AsyncBigtable,这应该会提高大量性能。
【讨论】:
感谢您的解释 - 我会调查一下。目前,写入更多数据,我们不再遇到问题。但出于好奇,我会看看。另外,感谢您的 FYI 以及您和团队的巨大努力! fyi,这个可能是相关的:***.com/questions/31383406/… -- 对此问题/答案添加了评论 @AntonLitvinenko 我一开始写大量数据,问题就消失了。如果我只发送一个点左右,它会感觉没有响应(由于一些冲洗频率,可能就像上面的答案)。以上是关于使用 HTTP POST 将 OpenTSDB 写入 Bigtable 不起作用(使用 Kubernetes(的主要内容,如果未能解决你的问题,请参考以下文章