pomerium/docs/enterprise/metrics.md
backport-actions-token[bot] 238ee7f1e4
Docs: Batch Updates (#2628) (#2640)
* define IdP acronym

* remove 'enable user imporsonation', which was removed

* copy edit recovery token

* integrate SA docs into reference

* rename Prometheus as Metrics

Co-authored-by: Alex Fornuto <afornuto@pomerium.com>
2021-09-29 10:26:31 -05:00

62 lines
1.9 KiB
Markdown

---
title: Metrics
sidebarDepth: 1
description: Use Prometheus as a metrics data store.
---
# 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.
::: tip
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:
```yaml
metrics_address: 0.0.0.0:9999
```
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`:
```yaml
- job_name: 'Pomerium'
scrape_interval: 30s
scrape_timeout: 5s
static_configs:
- targets: ['192.0.2.10:9999']
```
1. [Reload](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration) the Prometheus configuration:
```bash
curl -i -XPOST path.to.prometheus:port/-/reload
```
1. In the Pomerium Enterprise `config.yaml` file, define the `prometheus_url` key to point to your Prometheus instance(s):
```yaml
prometheus_url: http://192.168.122.50:9090
```
1. Restart the Pomerium and Pomerium Enterprise services. You should now see route traffic data in the Enterprise Console:
![Traffic Data in Pomerium Enterprise](./img/console-route-traffic.png)
## Embedded Prometheus
To take advantage of Prometheus embedded in Pomerium Enterprise, edit `/etc/pomerium-console/config.yaml`:
```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](/enterprise/install/quickstart).