# Configure Metrics

Pomerium Enterprise uses Prometheus as a metrics collection back-end. You can configure Pomerium and the Console to talk to an existing Prometheus server, or configure the embedded Prometheus backend.


For production deployments, we suggest using a dedicated Prometheus instance.

# Prepare Pomerium

  1. In the Pomerium config.yaml, define the metrics_address key to a network interface and/or port. For example:


    The example above has Pomerium providing metrics at port 9999 on all network interfaces.

# External Prometheus

  1. Add the listener to your Prometheus configuration, usually via prometheus.yml:

    - job_name: 'Pomerium'
       scrape_interval: 30s
       scrape_timeout: 5s
          - targets: ['']
  2. Reload (opens new window) the Prometheus configuration:

    curl -i -XPOST path.to.prometheus:port/-/reload
  3. In the Pomerium Enterprise config.yaml file, define the prometheus_url key to point to your Prometheus instance(s):

  4. Restart the Pomerium and Pomerium Enterprise services. You should now see route traffic data in the Enterprise Console:

    Traffic Data in Pomerium Enterprise

# Embedded Prometheus

To take advantage of Prometheus embedded in Pomerium Enterprise, edit /etc/pomerium-console/config.yaml:

prometheus_data_dir: /var/lib/pomerium-console/tsdb

The directory path can be any location that the pomerium system user can write to. The example above uses the default location created by the OS packages.