【发布时间】:2023-03-13 05:00:01
【问题描述】:
一段时间以来,我一直在使用 Cassandra 及其 C++ 驱动程序编写 API 来插入和获取数据。但是,既然我已经创建了集群,我想为我的集群开发监控工具。
我想构建一个应用程序(最好使用 C++,我不想使用第 3 方应用程序),它将存储集群管理特定属性,例如集群中每个节点的内存利用率、每个操作的延迟、空间被每个节点上的每个表占用等。我读到了“Cassandra 中的指标”(https://cassandra.apache.org/doc/latest/operating/metrics.html),但我不知道如何在构建我的应用程序时准确使用它们,因为我之前没有使用过 Java(请原谅) !)。 可以使用 C++ 构建这样的应用程序吗?如果在 C++ 中进行了大量工作,那么如果您可以共享一些 Java 代码,其中这些 Cassandra Metrics 已用于监控 Cassandra 集群,那将是非常有益的。
操作系统:RHEL Cassandra 版本:3.11.2
【问题讨论】:
-
为什么要用 C++ 构建这个。这实际上为这项任务增加了一些复杂性。如果您的集群受到控制,您可以使用类似 jolokia 的方式,它为 MBeans cassandra 提供了一个 HTTP 接口来公开它的指标。
-
实际上,C++ 是我迄今为止唯一使用过的编程语言。所以这就是为什么我认为这对我来说会更容易一些。
-
指标似乎首先是为 Java 设计的。对于 C++,您可能会更深入地研究http 接口...
-
在Cassandra目录下的lib文件夹中,有3个jar文件(好像和Cassandra Metrics有关)..metrics-core-3.1.0.jar,metrics-jvm-3.1.0 .jar,metrics-logback-3.1.0.jar ...我还发现了 conf 目录“metrics-reporter-config-sample.yaml”中的一个 yaml 文件。但我仍然不知道所有这些是如何协同工作的
-
在你进入兔子洞之前。启动 jconsole 并将其指向您的服务器。您可能需要用户名和密码,但这会向您显示可用的指标。
标签: java c++ cassandra cassandra-3.0