For the complete documentation index, see llms.txt. Markdown versions are available by appending .md to documentation URLs.

Monitor Multiple K8S Clusters with k8s-Infra

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

This guide explains how to monitor multiple Kubernetes clusters with the K8s Infra collection agent, installed with the k8s-infra Helm chart or with Foundry, and view them together in SigNoz. Install K8s Infra in each cluster, point every cluster to the same SigNoz backend, and give each cluster a unique name.

Prerequisites

  • A SigNoz backend (SigNoz Cloud or self-hosted)
  • kubectl access to each target cluster
  • Helm v3 installed, or foundryctl for a Foundry install (see Install K8s Infra)

How it works

  • Install k8s-infra separately in each cluster.
  • Each deployment sends telemetry to a common SigNoz backend.
  • A unique cluster identifier (global.clusterName in Helm values, K8S_CLUSTER_NAME in a Foundry casting.yaml) lets you filter and compare signals across clusters.

Step 1: Pick unique cluster names

Choose a naming scheme that is stable and human-friendly. Examples:

  • prod-us1, prod-eu1, staging, dev-team-a

Set this value in global.clusterName for each cluster, or in K8S_CLUSTER_NAME in both documents of each cluster's Foundry casting.yaml.

Step 2: Prepare per-cluster overrides

Create an overrides file per cluster (for example, override-values-prod-us1.yaml).

override-values.yaml

global:
  cloud: others                 # aws, gcp or azure to enable resource detection (chart default: other)
  clusterName: <UNIQUE_CLUSTER_NAME>
  deploymentEnvironment: <ENV>  # e.g., production, staging
otelCollectorEndpoint: https://ingest.<region>.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
  otlphttpExporter:
    enabled: true

Verify these values:

  • <UNIQUE_CLUSTER_NAME>: The name you picked for this cluster in Step 1, unique across the clusters that send to the same SigNoz. It becomes k8s.cluster.name on every signal.
  • <ENV>: Your deployment environment, for example staging or production. It becomes deployment.environment on the collected telemetry.
  • <region>: Your SigNoz Cloud region.
  • <your-ingestion-key>: Your SigNoz Cloud ingestion key.

Step 3: Install in each cluster

Run the following in every cluster with its overrides file:

helm repo add signoz https://charts.signoz.io
helm repo update
helm install k8s-infra-<cluster> signoz/k8s-infra -n signoz-infra --create-namespace -f override-values-<cluster>.yaml

Step 4: Verify in SigNoz

  • In Metrics/Logs/Traces views, filter by k8s.cluster.name, which carries the name you set as global.clusterName or K8S_CLUSTER_NAME.
  • Create dashboards per cluster or compare across clusters with group-by filters.

Best practices

  • Use consistent, unique global.clusterName (Helm CLI) or K8S_CLUSTER_NAME (Foundry) values.
  • Consider separate ingestion keys per cluster for isolation/rotation.
  • Ensure egress to your OTLP endpoint (4318 for OTLP/HTTP; 443 for SigNoz Cloud).

Next Steps

Is this page helpful

Last updated—October 15, 2026