Monitoring
The Operator Service supports monitoring using Prometheus by providing a /metrics endpoint that Prometheus can scrape to gather various metrics about your validator operations.
Prerequisites
- Operator application running and accessible
- Prometheus server installed and running
- Basic knowledge of how to configure Prometheus targets
- Grafana Dashboard ↗ for v3-operator ↗ installed
Setup Operator for Monitoring
The Operator provides flexibility to define the host and port for the metrics endpoint via environment variables:
Environment Variables
ENABLE_METRICS - Defines whether the metrics endpoint should be enabled (default: false)
METRICS_HOST - Defines the hostname or IP on which the metrics endpoint will be available
METRICS_PORT - Defines the port on which the metrics endpoint will be available
Ensure that these environment variables are set as per your requirements.
Environment Variables Example
export ENABLE_METRICS=true
export METRICS_HOST=0.0.0.0
export METRICS_PORT=9100
Command-Line Flags
You can also specify them by providing --enable-metrics, --metrics-port and --metrics-host flags to the start command.
The Operator Service's metrics will be available at http://[METRICS_HOST]:[METRICS_PORT]/metrics.
Configure Prometheus
To monitor the Operator, configure Prometheus to scrape metrics from the exposed /metrics endpoint.
Add the following job configuration to your Prometheus configuration file (prometheus.yml):
scrape_configs:
- job_name: 'operator'
scrape_interval: 30s
static_configs:
- targets: ['<METRICS_HOST>:<METRICS_PORT>']
Replace <METRICS_HOST> and <METRICS_PORT> with the values you've configured in the Operator.
This configuration tells Prometheus to scrape metrics from the Operator every 30 seconds.