In-cluster PrometheusΒΆ
Configure Robusta to use a Prometheus instance running inside your Kubernetes cluster.
Quick StartΒΆ
In most cases, Robusta will automatically detect Prometheus in your cluster. No configuration needed!
If auto-detection fails, add the following to your generated_values.yaml
:
globalConfig:
prometheus_url: "http://PROMETHEUS_SERVICE_NAME.NAMESPACE.svc.cluster.local:9090"
alertmanager_url: "http://ALERTMANAGER_SERVICE_NAME.NAMESPACE.svc.cluster.local:9093"
Then update Robusta.
Finding Your Service NamesΒΆ
To find your exact Prometheus service name:
# List all services in common namespaces
kubectl get svc -A | grep -E "prometheus|alertmanager"
# Or check specific namespace
kubectl get svc -n monitoring
kubectl get svc -n prometheus
VerificationΒΆ
After configuration, verify the connection:
Using Robusta UI:
Open the Robusta UI, navigate to any application, and check if CPU/memory graphs are displayed. If graphs appear, the integration is working correctly.
Advanced ConfigurationΒΆ
Multi-Cluster PrometheusΒΆ
If your Prometheus contains data for multiple clusters, tell Robusta how to query data for this cluster only:
globalConfig:
prometheus_additional_labels:
cluster: 'CLUSTER_NAME_HERE'
Grafana AlertsΒΆ
If using Grafana alerts, add these settings:
globalConfig:
grafana_api_key: <YOUR GRAFANA EDITOR API KEY>
alertmanager_flavor: grafana
Multi-Tenant PrometheusΒΆ
For multi-tenant Prometheus or AlertManager, pass the organization ID to all queries:
globalConfig:
prometheus_additional_headers:
X-Scope-OrgID: <org id>
alertmanager_additional_headers:
X-Scope-OrgID: <org id>
AuthenticationΒΆ
If Prometheus and/or AlertManager require authentication, add the following:
globalConfig:
prometheus_auth: Bearer <YOUR TOKEN> # Replace with your actual token
alertmanager_auth: Basic <USER:PASSWORD base64-encoded> # Replace with base64-encoded credentials
These settings may be configured independently.
SSL VerificationΒΆ
By default, Robusta does not verify the SSL certificate of the Prometheus server.
To enable SSL verification:
runner:
additional_env_vars:
- name: PROMETHEUS_SSL_ENABLED
value: "true"
If you have a custom Certificate Authority (CA) certificate, add one more setting:
runner:
certificate: "<YOUR BASE-64 ENCODED DATA>" # base64-encoded certificate value