Cassandra JMX指标丢失

时间:2018-12-24 09:51:06

标签: cassandra-3.0

我使用相同的设置过程设置了2个Cassandra集群。两个集群都在运行,没有任何问题。

但是通过JMX公开cassandra指标的方式存在不一致。

使用here中提到的说明来设置JMX导出器。

两个集群都导出指标,但是在其中一个集群上,较少的指标被公开。

更具体地说,与 cassandra_table_totaldisk 相关的指标在一个上丢失,而在另一个上则丢失。

#/etc/cassandra$ tail -1 cassandra-env.sh
JVM_OPTS="$JVM_OPTS -javaagent:/opt/prometheus- 
jmx/jars/jmx_prometheus_javaagent-0.3.0.jar=7070:/etc/cassandra/cassandra-exporter-conf.yml"
#/etc/cassandra$ ls /opt/prometheus-jmx/jars/jmx_prometheus_javaagent-0.3.0.jar
/opt/prometheus-jmx/jars/jmx_prometheus_javaagent-0.3.0.jar
#/etc/cassandra$ ls /etc/cassandra/cassandra-exporter-conf.yml
/etc/cassandra/cassandra-exporter-conf.yml
#/opt/prometheus-jmx/jars$ curl localhost:7070/metrics | grep cassandra_table_totaldisk | grep types
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                               Dload  Upload   Total   Spent    Left  Speed
100 6533k  100 6533k    0     0   716k      0  0:00:09  0:00:09 --:--:-- 1680k
cassandra_table_totaldiskspaceused{table="types",keyspace="system_schema",} 0.0

我已验证存在cassandra模式,并且在节点上生成了键空间表文件。

什么会导致这种不一致? 如何调试/调查问题?

1 个答案:

答案 0 :(得分:0)

显然,事实证明,矩阵并没有按照我们想要的方式生成,因为在为jmx-exporter配置cassandra之后,cassandra并没有重新启动。

使用ansible脚本使步骤自动化。 jmx-exporter设置后,没有调用重新启动cassandra的ansible角色。原因是this ansible issue。一旦我们确保cassandra仅启动一次(通过确保仅一次调用ansible角色)并且仅在完成jmx-exporter设置之后,该问题就得到解决。