If you use Prometheus to monitor your systems and services, you can enable the collection and reporting of
Prometheus-compliant metrics on the database cluster. You enable Prometheus metrics in the configuration file when
initializing the database by adding the
<metrics> element to the Volt configuration
<deployment> <cluster kfactor="1"/> <metrics enabled="true"/> </deployment>
Next, add the Volt cluster nodes as targets in the Prometheus configuration. Since each node reports its own data, be sure to include all of the nodes as scraping targets. For example:
global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: volt static_configs: - targets: ['voltsvr1:11781','voltsvr2:11781','voltsvr3:11781']
Once metrics are enabled, each Volt server reports server-specific information through the Prometheus 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 Prometheus data format is a readily accessible text format and can be used equally well by other reporting applications. Applications can either send HTTP requests to the metrics endpoint like Prometheus or use the @Metrics system procedure, which returns the same data formatted in a sequence of VoltTable structures.