Skip to main content

Prometheus

CatalogScorecards

Summary

Prometheus is a monitoring and analytics platform that allows customers to analyze, visualize, automate, and alert on metrics data. You can use Prometheus to drive insights into values such as:

  • SLOs

Setup

In order to connect Cortex to your Prometheus instance, you’ll need to add the URL for your Prometheus server and basic authentication if it is configured under Settings → Prometheus. Each Prometheus instance can also optionally include a tenant id to monitor a specific tenant of a multiple tenant setup.

Multi-account support

Prometheus has multi account support. Each configuration requires an alias. We use the alias to correlate the instance you want to use with the registrations for various entities. There is also a default configuration used by registrations without an alias listed. You can edit aliases and the default configuration under Settings → Prometheus.

caution

If you do not see the Settings page you're looking for in the sidebar, you likely don't have the proper permissions and need to contact your admin.

Service Registration

Service Descriptor

You can create and manage SLOs by listing relevant SLIs through queries.

x-cortex-slos:
prometheus:
- errorQuery: sum(rate(http_server_requests_seconds_count{status=~"(5..|429)"}[5m]))
totalQuery: sum(rate(http_server_requests_seconds_count[5m]))
slo: 99.95
alias: my-prometheus-instance # alias is optional and only relevant if you have opted into multi account support
name: my-slo-name
FieldDescription
errorQueryQuery that indicates error events for your metric.
totalQueryQuery that indicates all events to be considered for your metric.
sloTarget number for SLO.
aliasTies the SLO registration to a Prometheus instance listed under Settings → Prometheus. The alias parameter is optional, but if not provided the SLO will use the default configuration under Settings → Prometheus.
nameThe SLO's name in Prometheus. The name parameter is optional.