5.4. Integrating VoltDB with Datadog

Documentation

VoltDB Home » Documentation » Administrator's Guide

5.4. Integrating VoltDB with Datadog

If you use Datadog to monitor your systems and services, you can enable the collection and reporting of Datadog-compliant metrics on the database cluster. You need to enable metrics and set the collection interval to every 15 seconds when initializing the database by adding the deployment.metrics property to the configuration:

deployment:
   metrics:
     enabled: true
     interval: 15s

Next, add the Volt cluster configuration to your Datadog agent. Since the Volt nodes report their own data separately, you should deploy a Datadog agent for each node. For example, create a configuration file named conf.yaml in the Datadog agent's /opt/datadog-agent/etc/conf.d/openmetrics.d/ directory for every node in the cluster:

init_config:
  service: 'voltdb'

instances:
  - openmetrics_endpoint: 'http://localhost:11781/metrics'
    metrics: [ ".*" ]
    max_returned_metrics: 4000
    histogram_buckets_as_distributions: true
    tags:
      - "cluster:mydb"
      - "country:GL"

In this preceding example, service provides a name for the service being monitored and openmetrics_endpoint identifies the source of the data. For VoltDB, that is the metrics endpoint. The next three properties ensure that the data is correctly interpreted by Datadog:

  • The metrics property defines which metrics are recorded (in this case, all metrics). You can use this property to select specific metrics to record.

  • The max_returned_metrics sets the maximum number of metrics to record. Setting this property to a high value, such as 4,000, ensures that all metrics are included.

  • The histogram_buckets_as_distributions property must be set to true because several of the VoltDB metrics are recorded as histograms.

Finally, the tags entries let you associate additional metadata with the metrics. The example includes tags for the name of VoltDB cluster and a country code identifying its geographic location.

Once metrics are enabled, each Volt server reports server-specific information through the metrics endpoint (/metrics) on the metrics port, which defaults to 11781. You can specify an alternate port and/or network interface using the --metrics qualifier on the voltdb start command.

The metrics data is a readily accessible text format and can be used equally well by other reporting applications. Appendix B, Volt Active Data Metrics lists the metrics values reported by VoltDB.

Once Datadog is collecting the Volt metrics, you can use Datadog's visualization tools to combine, analyze, and present the information in meaningful ways. You can create custom dashboards in Datadog to monitor the health and performance of your VoltDB clusters, set up alerts based on specific metric thresholds, and integrate VoltDB monitoring with your existing Datadog workflows. For best results, make sure you set one of the following options in the Datadog management interface. Either:

  • Enable Distribution Metrics

  • Enable Percentiles on a per metrics basis

These settings allow you to filter and customize the display of Volt distribution metrics that are sent as histograms. See the Datadog documentation on advanced query functionality for more information.