Skip to main content

Metrics in Pomerium

Metrics in Pomerium provide observability and monitoring data from your Pomerium deployment. Use metrics to review traffic and its effects on your system.

Pomerium exposes standard Prometheus metrics related to its operation. Open-source users must configure metrics collection and visualization manually.

Pomerium Zero and Pomerium Enterprise provide simplified, built-in metrics collection and visualizations.

Metrics definitions

  • Traffic: requests proxied by Pomerium to routes defined in a Pomerium deployment.
  • Route: the location of an upstream service protected behind Pomerium. At a minimum, a route consists of a From URL and a To URL.

How metrics work

Pomerium collects and aggregates traffic data from your Pomerium deployment. This data includes the:

  • request size, duration, and rate
  • number of authorized and denied requests
  • response code distribution

You can view and filter this data in your traffic dashboard to gauge how much demand is placed on your server.

Filter metrics

Time range and routes

Pomerium stores traffic metrics up to the last 30 days of usage. You can filter traffic by time range and routes.

The following time ranges are supported:

  • Last 30 days
  • Last 2 weeks
  • Last 7 days
  • Last 24 hours
  • Last 12 hours
  • Last 3 hours
  • Last hour
  • Last 15 minutes (Enterprise only)

When filtering by route, select:

  • All Routes to review aggregated traffic metrics across all routes defined in your Pomerium deployment.
  • an individual route to review aggregated traffic metrics for that route.

Filtering metrics by time range routes in Pomerium Zero

Traffic dashboard

Pomerium Zero collects traffic metrics at the cluster level, which includes active replicas. To review the traffic dashboard in Pomerium Zero:

  1. In the left-hand sidebar, select Reports.
  2. Select Traffic.

Find traffic metrics in Pomerium Zero

Total and Authorized requests

The Total requests chart shows the total number of proxied requests. The Authorized requests chart shows the total number of requests Pomerium authorized and forwarded to an upstream service.

Both charts display the difference in requests between the selected and previous time ranges. Displaying the total and authorized requests in Pomerium Zero

The Authorized Requests pie chart displays the total number of authorized and denied requests. A pie chart showing the number of authorized and denied requests in Pomerium Zero

Request durations

Request duration measures the amount of time it takes Pomerium to proxy a request in milliseconds (ms). Pomerium Zero provides two request duration charts:

The first chart organizes requests by duration ranges defined along the x-axis. Pomerium sums the total value of requests within each range and calculates the amount as a percentage value.

A chart displaying request duration in Pomerium Zero

The second chart organizes requests by percentile ranges, date, and time.

A chart displaying request duration in Pomerium Zero

Requests rate and response codes

The Requests per second chart calculates the average amount of proxied requests per second over the span of an hour. Requests are organized by date and time, and categorized by the following response status codes:

  • 200s (200-299): successful responses
  • 300s (300-399): redirection messages
  • 400s (400-499): client error responses
  • 500s (500-599): server error responses

A chart displaying requests per second in Pomerium Zero

Bytes sent and received, request size

The Bytes sent and Bytes received charts display the average amount of bytes sent and received over the span of an hour.

A chart displaying bytes sent and received in Pomerium Zero

Runtime dashboard

Runtime metrics are not supported in Pomerium Zero.