Skip to content

Metrics Exporters

Metrics exporters make internal nzyme metrics available to third party monitoring systems. The exporters may actively send data or make it available via APIs, depending on the monitoring system type and integration.

Super administrators can configure metrics exporters using the web interface under Monitoring & Metrics -> Exporters.

Warning

The exported metrics are local/specific to the node you are requesting them from. Monitoring systems, like Prometheus, that pull metrics from nodes, must always connect to all nodes individually and not use a load balancer. Exporters that push metrics to monitoring systems will push from each node individually.

Prometheus

The Prometheus exporter makes metrics available though a custom HTTP/REST endpoint that Prometheus can scrape from.

The endpoint is secured with HTTP basic authentication and uses the default nzyme TLS certificate. TLS/HTTPs is enforced and cannot be turned off. The example scrape configuration below includes a configuration to accept self-signed certificates if required.

You can reach the Prometheus scrape URL at https://yournzyme.example.org:22900/api/system/monitoring/prometheus/metrics after configuring and enabling the exporter.

Configuration

The configuration is simple and should be fairly self-explanatory.

Configuration Parameter Description
REST Report Enabled Enables/Disables the exporter HTTP/REST endpoint.
Basic authentication username HTTP basic auth username you would like to use. Only applies to the exporter API path
Basic authentication password HTTP basic auth password you would like to use. Only applies to the exporter API path

The configuration takes effect immediately after saving it.

Scrape Configuration

The Prometheus scrape configuration for the nzyme metrics exporter is no different than any other scrape target, but using HTTPs and basic auth requires some additional parameters you may not be familiar with:

scrape_configs:
  - job_name: 'nzyme_node_metrics'
    static_configs:
      - targets: ['nzyme-node-01.example.org:22900', 'nzyme-node-02.example.org:22900']
    metrics_path: '/api/system/monitoring/prometheus/metrics'
    scheme: https
    tls_config:
      insecure_skip_verify: true
    basic_auth:
      username: 'your_http_basic_auth_user'
      password: 'your_http_basic_auth_password'

Please refer to the Prometheus documentation for any other Prometheus questions.