我想为Cassandra集群收集不同的指标(如读/写延迟,内存使用,堆大小,cpu使用,压缩计数等),并且该信息将被其他第三方监控工具使用。 所以我开始知道像
这样的选项但是这里有一些问题:
感谢您的回复。
答案 0 :(得分:2)
这是正确的,nodetool不能提供jmx直接提供的所有信息吗?
正确。 Nodetool不是作为报告解决方案构建的,并不专注于显示性能指标。因此,nodetool不包含JMX提供的许多指标。
如果我决定直接使用JMX api收集指标,那么我的监控应用程序是否必须为Cassandra集群中的每个节点单独调用?
是。另一种选择是将Cassandra 推送指标指向指定的端点。例如,您可以将Cassandra配置为push data to Graphite或metrics-reporter-config支持的任何其他后端。
有没有办法将所有集群节点的数据收集到jmx服务器等一个地方,然后监控工具可以在单机调用中读取数据?
实际上,所有Cassandra监控解决方案都会在内部保存收集的指标,并允许稍后查询。我建议您查看existing solutions以了解详情。
nodetool实用程序如何使用jmx API从集群中的所有节点读取数据?
Nodetool只能连接到一台主机。