cassandra - 如何集成 dropwizard 指标来监控 cassandra 数据库
问题描述
我想监控我的 cassandra 集群的运行状况。并了解了 dropwizard 指标,但不知道如何将 dropwizard 指标与我的 cassandra 集群集成以对其进行监控。为此,我想使用 JMX 作为指标报告器,石墨作为指标收集器,Grafana 作为可视化 GUI,任何人都可以在这里帮助我。
解决方案
Cassandra 本身使用 dropwizard Metrics 并从 2.0.2 开始具有可插入的报告界面(公告发布)。“使用 Graphite 和 Grafana 监控 Apache Cassandra 指标”很好地概述了如何配置 Cassandra 以向石墨报告指标:
1)。下载 Graphite 指标报告器 jar 文件
2)。将下载的jar文件放入Cassandra库文件夹,例如/usr/share/cassandra/lib/(Ubuntu 14.0.4打包安装下默认的Cassandra库文件夹)
3)。创建一个指标报告器配置文件(例如metrics_reporter_graphite.yaml)并将其放在与cassandra.yaml文件相同的文件夹下,例如/etc/cassandra/(Ubuntu 14.0.4打包安装下的默认Cassandra配置文件夹)。
graphite:
-
period: 30
timeunit: 'SECONDS'
prefix: 'cassandra-clustername-node1'
hosts:
- host: 'localhost'
port: 2003
predicate:
color: 'white'
useQualifiedName: true
patterns:
- '^org.apache.cassandra.+'
- '^jvm.+'
4)。修改 cassandra-env.sh 文件以包含以下 JVM 选项:
METRICS_REPORTER_CFG="metrics_reporter_graphite.yaml"
JVM_OPTS="$JVM_OPTS -Dcassandra.metricsReporterConfigFile=$METRICS_REPORTER_CFG"
5)。重启 Cassandra 服务
推荐阅读
- javascript - 为什么我的 ajax 函数被执行了两次?
- excel - 如何在 Excel/VBA 中减小 pdf 文件大小
- routes - Quarkus - Openshift - route.annotations
- entity-framework - 带有 GUIDS 列表的实体框架子句
- grafana - 无法使用 grafana tempo 连接 opentelemetry 收集器
- flutter - 为什么我不能定义内容器的高度?
- python - 使用 return 语句正确退出 while 循环
- node.js - 如何在 Node JS 中读取标准输入以编写从用户输入中添加两个数字的程序
- android - RecyclerView 不会填满剩余空间(ConstraintLayout)
- c# - 想从 2 个按钮打开相同的表单,但每个按钮都可以打开一次