Comment on page
Prometheus mirror
Pull telemetry from Prometheus using mirroring.
This page describes StackState version 4.1.
The StackState 4.1 version range is End of Life (EOL) and no longer supported. We encourage customers still running the 4.1 version range to upgrade to a more recent release.
Prometheus mirror is a gateway between StackState and Prometheus that enables Prometheus telemetry in StackState.
The Prometheus Mirror has the following prerequisites:
- The mirror must be reachable from StackState
- Prometheus must be reachable from the mirror without authentication
The Prometheus mirror is available via the StackState helm repository. Configure your helm with these 2 commands:
helm repo add stackstate https://helm.stackstate.io
helm repo update
Install the Prometheus mirror with the following command:
helm install prometheusmirror stackstate/prometheusmirror --set global.apiKey=API_KEY
Alternatively, you can use the docker container directly:
docker pull stackstate/prometheusmirror:latest
The Prometheus mirror is configured using the following parameters:
global.apiKey
- the API key used to authenticate communication between the mirror and StackStateworkers
- number of workers processes (default:20
)port
- the port the mirror is listening on (default:9900
)
In order to start using Prometheus mirror in StackState one has to create Mirror Datasource
Create a new Mirror datasource:
- DataSourceUrl - points to Prometheus mirror endpoint http://:9900
- Api Key - should be the same key as specified by
global.apiKey
mirror configuration - Connection Details JSON - the mirror configuration json, e.g.{"host": "<prometheus host>","port": <prometheus port>,"requestTimeout": 20000}Prometheus host/port refers to the actual Prometheus host/port (not the mirror).
Counter queries fetch counter metrics from Prometheus. The retrieved counter values are transformed to a rate.
The following are sample parameters for a counter query:
- __counter__ = go_memstats_lookups_total
- job = payment-service
- name = payment
- instance = 127.0.0.1:80
Gauge queries fetch gauge metrics from Prometheus.
The following are sample parameters for a gauge query:
- __gauge__ = go_gc_duration_seconds
- job = payment-service
- name = payment
- instance = 127.0.0.1:80
Prometheus histogram and summary queries are not supported from the query interface. They still can be configured using tilda-query.
The query allows arbitrary Prometheus queries, e.g.
~ = histogram_quantile(0.95, sum(rate(request_duration_seconds_bucket{instance='127.0.0.1:80', name='payment-service'}[1m])) by (name, le)) * 1000
Last modified 2yr ago