cassandra-3.0 - Cassandra jmx 指标缺失
问题描述
我使用相同的设置过程设置了 2 个 cassandra 集群。两个集群都在运行,没有任何问题。
但是通过 JMX 公开 cassandra 指标的方式存在不一致。
使用此处提到的说明设置 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 模式存在并且在节点上生成了键空间表文件。
什么会导致这种不一致?如何调试/调查问题?
解决方案
显然,事实证明,矩阵并没有按照我们想要的方式生成,因为在为 jmx-exporter 配置 cassandra 后,cassandra 没有重新启动。
这些步骤是使用 ansible 脚本自动化的。在 jmx-exporter 设置之后,没有调用重新启动 cassandra 的 ansible 角色。原因是这个ansible问题。一旦我们确保 cassandra 只启动一次(通过确保 ansible 角色只被调用一次)并且只有在 jmx-exporter 设置完成之后,问题就得到了解决。
推荐阅读
- r - 将数据导出到 Stata/SPSS 后更改/重新编码基础值代码
- google-apps-script - 限制 Google 表格中的行数
- c# - 无法加载文件或程序集 - 停止后启动 Azure 应用服务
- python - 我可以获得在运行时传递给我的 python 函数的内容的 AST 表示吗?
- python - 如何让我的循环停止迭代,以便在错误为 10^-6 时停止
- react-native - 在 React Native 中单击 3 个点时打开菜单的更好解决方案
- ios - Swift:在应用程序处于后台时调用 .requestLocation()
- python - 如何在python中使文本可点击
- php - 如何从此 DOMobject 获取“价格和图像键”值
- php - 加载并显示 foreach 元素,稍等,加载下一个,依此类推