使用 HTTP POST 将 OpenTSDB 写入 Bigtable 不起作用(使用 Kubernetes(

Writing OpenTSDB to Bigtable with HTTP POST not working (using Kubernetes(

Updated with more information

我正在尝试在 Bigtable 上设置 OpenTSDB,遵循这个 guide: https://cloud.google.com/solutions/opentsdb-cloud-platform

效果很好,一切都很好。

现在我试图用 LoadBalancer(类型)打开 opentsdb-write 服务。似乎也很好用。

注意:使用 GCP 负载平衡器。

然后我使用 insomnia 将 POST 发送到 ./api/put 端点 - 我得到了预期的 204(另外,使用 ?details 显示没有错误,?sync) 也没有(参见 http://opentsdb.net/docs/build/html/api_http/put.html

查询数据时(GET on ./api/query),看不到数据(grafana中同样的效果)。另外,我没有在 bigtable.

tsdb table 中看到任何数据

我的结论:没有数据写入 Bigtable,尽管 tsd 返回 204。

有趣的事实:创建了 metric(我可以在 Bigtable (cbt read tsdb-uid) 中看到它,并且在 opentsdb-ui(和 grafana)立即选择指标。但没有数据。

当我在教程中使用 Heapster-Example 时,一切正常。

有趣的部分(对我来说):

注意:发生了几次,有大量延迟或在 stoping/restarting kubernetes 集群之后,数据出现了。突然。我现在无法重现。

我一定是遗漏了一些非常简单的东西。

注意:我在日志 (stackdriver) 和 UI (opentsdb UI)、bigtable 和 Kubernetes 中都没有看到任何错误,也没有任何我能看到的错误想到了。

注意:我使用的配置与教程中的链接相同。

我正在使用的put(见204):

如果我加上?details,表示成功:

我的猜测是这与 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,这应该会提高高容量时的性能。