收集 Cassandra 监控指标的可能选项

Possible options to collect Cassandra Monitoring metrics

我想为 Cassandra 集群收集不同的指标(如 read/write 延迟、内存使用、堆大小、cpu 使用、压缩计数等),这些信息将被其他第三方使用监控工具。 所以我开始了解

这样的选项

不过这里有几个问题:

感谢您的回复。

Is this correct that nodetool doesn't provide all information that directly jmx can provide?

正确。 Nodetool 不是作为报告解决方案构建的,也不专注于显示性能指标。因此,JMX 提供的很多指标都没有被 nodetool 覆盖。

If I decide to collect metrics directly using JMX api, then does my monitoring application has to give separate call for each node in Cassandra cluster?

是的。另一种选择是让 Cassandra push 指标到指定端点。例如,您可以将 Cassandra 配置为 push data to Graphite or any other backend supported by metrics-reporter-config.

Is there any way where data from all cluster nodes will be gathered at one place like jmx server then monitoring tool can read data in single machine call?

实际上,所有 Cassandra 监控解决方案都会在内部保存收集到的指标,并允许稍后查询它们。我建议查看 existing solutions 以了解更多信息。

How nodetool utility is using jmx APIs to read data from all nodes from cluster?

Nodetool 只会连接到一个主机。