Prometheus
Configure Prometheus metric data sources
Connecting Asserts to your Prometheus
Asserts needs access to your Prometheus endpoint(s) to give you visibility into your systems. You can add multiple Prometheus data sources.
Once you get your trial license, simply select the Data Sources -> Prometheus menu and enter your Prometheus connection information:
Url: Prometheus Endpoint Url
Env (Required): The Environment of the Prometheus (e.g. dev/stage/prod)
Site (Optional): The Site (which could be a region/cluster/etc..) of the Prometheus (e.g. us-west-2)
Username (Optional): The User for basic auth
Password/Token (Optional): Password for basic auth or Bearer Token
For Rules: Enabling this slider will result in Asserts' rules getting run against this Prometheus server. Enable this slider when adding a Prometheus server with realtime, fast access metrics (Note: you must have at least one datasource enabled for rules & dashboards)
For Dashboards: Enabling this slider results in this Prometheus server only being utilized for dashboards. Enable this slider for your long term Prometheus storage
Select Test Connection to verify your endpoint, then Add New. Once you have connected your Prometheus Asserts will discover your service graph within the next minute.
Now navigate to the Entity Graph and type Show all Services in the the search bar to visualize your services. Learn more about exploring Asserts from our user guide.
Preparing your Prometheus
Asserts leverages the labels in your existing application and infrastructure metrics, such as pod, node, instance, service, job, namespace et al
.
If you are using Prometheus-Operator, these labels are there by default, and you can skip this section
If you are using annotation based kubernetes service discovery in your Prometheus configuration such as used in the official Prometheus Helm Chart default scrape config, some relabel configurations will need to be added.
Using the mentioned scrape config as our base config we can see the diff for the required changes which results from doing the following 3 steps:
Add the node label to the jobs
kubernetes-nodes
andkubernetes-nodes-cadvisor
:
2. Add the pod label to jobs kubernetes-service-endpoints
and kubernetes-service-endpoints-slow
:
3. Create a service label for jobs kubernetes-pods
and kubernetes-pods-slow
from the pod controller name by adding:
Last updated