Monitor Multiple K8S Clusters with k8s-Infra
This guide explains how to use the SigNoz k8s-infra
Helm chart to monitor multiple Kubernetes clusters and view them together in SigNoz. The approach is simple: deploy the chart in each cluster, point them to the same SigNoz backend, and assign a unique cluster name.
Prerequisites
- A SigNoz backend (SigNoz Cloud or self-hosted)
- kubectl access to each target cluster
- Helm v3 installed
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
) 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.
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 # or aws/gcp/aks to enable resource detection
clusterName: <UNIQUE_CLUSTER_NAME>
deploymentEnvironment: <ENV> # e.g., production, staging
otelCollectorEndpoint: ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <SIGNOZ_INGESTION_KEY>
presets:
otlpExporter:
enabled: true
📝 Note
- Replace
<UNIQUE_CLUSTER_NAME>
with a unique name per cluster. - Set your ingestion endpoint according to your SigNoz Cloud region. Refer to the SigNoz Cloud ingestion endpoint guide to find the correct endpoint for your deployment.
- Replace
<SIGNOZ_INGESTION_KEY>
with the one provided by SigNoz.
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
clusterName
(fromglobal.clusterName
). - Create dashboards per cluster or compare across clusters with group-by filters.
Best practices
- Use consistent, unique
global.clusterName
values. - Consider separate ingestion keys per cluster for isolation/rotation.
- Ensure egress to your OTLP endpoint (
4317
for gRPC;443
for SigNoz Cloud).
Next Steps
Last updated: July 29, 2025
Edit on GitHub