使用命令: nodetool cfstats
我能够看到每个键空间和列族的统计信息。但是有很多列系列的读取延迟显示为NaN ms。我想监视Cassandra的Read Latency,但我不确定如何获得正确的数据。
PS:如果有人能向我解释OpsCenter如何计算Cassandra 1.1上的读取延迟,那将是很好的
答案 0 :(得分:2)
监控Cassandra集群延迟的最简单方法是从应用程序的角度来看。这有利有弊:
优点是可以轻松检测应用程序代码并在Cassandra调用周围设置计时器并将测量记录到某处以进行绘图,或者只是将其推送到图形工具。
缺点是它不会是Cassandra的绝对延迟,它也会包括网络和应用程序延迟。
cfstats报告的数字被分为范围,这似乎不是你想要的。你看到NaN,因为那些CF没有收到足够的读数来填充计数器。因此,获得延迟数的最佳方法是更多地考虑Cassandra代码。这是一个基于Cassandra 1.1.10的差异,我为一些操作增加了延迟记录。它将记录协调器节点返回到客户端之前所看到的绝对延迟,因此您可以准确地知道您的Cassandra节点是如何做的:
https://github.com/aryanet/cassandra/commits/ag-cassandra-1.1.10