Our mission at DataStax is to deliver strong value to our customers by providing advanced tools and solutions to manage and monitor DataStax Enterprise (DSE) with ease. With complex applications deployed across different environments, sending DSE diagnostic metrics to a centralized, unified, scalable, and flexible monitoring solution that provides a fast and accurate problem resolution is critical to helping administrators troubleshoot problems.
Furthermore, to troubleshoot production slowdowns, it is vital to be able to correlate application and network activity with the impact on the database from a single lens. When it comes to monitoring a distributed platform, there are many ways to go about it. At DataStax we understand this, and with DSE 6.7 we are proud to announce the DSE Metrics Collector, which lets you integrate DSE metrics with any standard centralized monitoring solution of your choice.
In this post, we’ll explain the high-level architecture of the DSE Metrics Collector and show you how to set up simple end-end monitoring with Prometheus exporter visualized via a Grafana Dashboard.
To provide a flexible and familiar experience, the DSE Metrics Collector is based on an industry standard collector. This implementation allows users to integrate the DSE and OS metrics into any standard enterprise monitoring system such as Prometheus, Nagios, Graphite, and many more. Furthermore, to improve operator efficiency, the DSE server automatically manages this service for you; i.e., no separate agent software is required.
Customize the DSE Metrics Collector
The DSE Metrics Collector is enabled by default and comes with a comprehensive set of knobs and configuration options that can be customized based on your environment. For instance, to view the default configuration, run the following command:
By default, the DSE Metrics Collector ships with a minimal set of filters with the goal of running the Collector transparently alongside your DSE installation. Based on your requirements, you can always override these or define your own set of rules. To view the default filters, run the following command:
Refer to documentation to view the exhaustive list of options.
Export and Visualize metrics
After configuring the DSE Metrics Collector, you can export the DSE metrics to any centralized monitoring environment.
Enable the Prometheus plugin on DSE Cluster
Before configuring Prometheus, each node must be configured to expose metrics to the Prometheus server. First, let’s add a Prometheus exporter on all DSE nodes. Depending on the install type, create a prometheus.conf file in one of the indicated directories, and add the following snippet to the configuration file.
Configure the Prometheus server
To use Prometheus with DSE Metrics Collector, download the prometheus.yaml file from GitHub and save it in the directory appropriate for your installation type. The prometheus.yaml file is preconfigured to scrape metrics reported by the DSE Metrics Collector. Additionally, download the tg_dse.json file, which the prometheus.yaml file references to obtain the name of your cluster and IP addresses for each node.
Finally, start your Prometheus server
Create dashboard visualizations
Once Prometheus is scraping the endpoints where the DSE Metrics Collector is running, add a data source pointing to the Prometheus server configured in the previous step.
Now, you can create a Grafana dashboard using the configured Prometheus data source.
To make this simpler, we have created a getting-started Github project that automates all the steps outlined in this post. Simply clone the project, follow the README, and explore the sample dashboards that we have shipped with this project!
The DSE Metrics Collector simplifies your monitoring experience and provides you with the capability to integrate DSE metrics into any standard centralized monitoring solution of your choice. We are confident that you will enjoy this new feature to monitor your DSE clusters with confidence! Download DSE 6.7 for free today and let us know what you think.