I have been using Cassandra and its C++ driver to write APIs to insert and fetch data for some time now. However now that I've created my cluster, I want to develop monitoring tools for my cluster.
I want to build an application(preferably in C++ as I've never programmed in Java till now) which will store Cluster management specific attributes like memory utilization of each node in the cluster, latency of each operation, space occupied by each table on each node etc. I read about 'Metrics in Cassandra(
https://cassandra.apache.org/doc/latest/operating/metrics.html) but I don't know how exactly to use them in building my application as I've not worked on Java before(excuse me for that!).
Can such application be built using C++?
If it's very complicated in C++, then, how can you please illustrate how to collect these Metrics in Java? As per the link above, the metrics can be collected via JMX.
I've come across possibly another way of collecting these metrics in Java in this link(
https://docs.datastax.com/en/drivers/java/3.0/com/datastax/driver/core/Metrics.html). This one uses the datastax's java driver. Is there a difference in these 2 methods or are they the same? Also is it not recommended to collect metrics via JMX because there's a warning in (
metrics.dropwizard.io/3.1.0/manual/core) suggesting to not try to gather metrics from production environment as JMX’s RPC API is fragile! Please help!