首页 > 解决方案 > Cassandra 的时间序列可视化

问题描述

我有一个Cassandra数据库和一个Spark集群,可以从 Cassandra 获取他的输入以进行一些处理。

在我的 Cassandra 数据库中,我有一些时间序列表。我正在寻找一种在不增加数据库的情况下轻松可视化这些时间序列的方法。

Grafana是一个很好的工具,但不幸的是,似乎没有办法将它插入 Cassandra。

所以,现在我使用我的 Cassandra/Spark 集群使用Zeppelin笔记本,但显示时间序列的可用功能不如 Grafana 中的功能好。

我也不能用 InfluxDB 替换我的 Cassandra,因为我的 Cassandra 不仅仅用于时间序列存储。

标签: apache-sparkcassandravisualization

解决方案


不幸的是,Cassandra 没有直接的插件作为 Grafana 的数据源。以下是实现 Cassandra 到 Grafana 集成的不同可能方式。

  1. 有一个 Cassandra 作为数据源的拉取请求https://github.com/grafana/grafana/pull/9774,但这并没有合并到 Grafana 主分支。您可以使用此 PR 运行 Grafana 的一个分支并使用该插件。

  2. 您可以在 Cassandra 之上使用KairosDB(我们可以将 KairosDB 配置为使用 Cassandra 作为数据存储,因此不需要多个数据库:)并使用 KairosDB 插件。但这种方法有一些缺点:

    • 我们需要将 Cassandra 模式映射到 KairosDB 模式,KairosDB 模式是基于指标的模式。
    • 虽然 KairosDB 使用 cassandra 作为 Datastore,但它会将数据存储在不同的 schema 和 table 中,因此数据是重复的。
    • 如果您的应用程序直接向 Cassandra 写入数据,您需要编写简单的客户端从 cassandra 中提取最新数据并推送到 KairosDB
  3. 您可以为 Grafana ( https://github.com/grafana/simple-json-datasource )实现SimpleJSON插件。有很多可用于 SimpleJSON 实现的示例,为 Cassandra 和开源编写一个 :)

  4. 您可以推送数据ElasticSearch并将其用作数据源。ES 被支持作为所有主要可视化工具的数据源。


推荐阅读