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