This guide explains how to monitor serverless Kubernetes workloads on Amazon EKS Fargate using OpenTelemetry. You install the EKS Fargate Collection Agent, one OpenTelemetry Collector Deployment, with Foundry and send its telemetry to SigNoz.
What is Serverless Kubernetes Monitoring with OpenTelemetry?
EKS Fargate runs Kubernetes pods on serverless compute. Since there is no node access, DaemonSets and host mounts are not supported. One OpenTelemetry Collector runs as a Deployment and reaches the kubelet of every Fargate node through the Kubernetes API server. Your apps send traces, metrics, and logs to its Service via OTLP, and the collector forwards data to your SigNoz backend.
To learn how Fargate differs from node-based setups and what the collector collects, see the K8s Serverless Overview.
Prerequisites
- A SigNoz backend (SigNoz Cloud or self-hosted) to receive OpenTelemetry data
- An EKS cluster with Fargate profiles configured
- kubectl access to your cluster
foundryctlto install the collector
How OpenTelemetry Monitoring Works on Fargate
On EKS Fargate, one OpenTelemetry Collector runs as a Deployment:
- Install the collector with Foundry
- The collector collects kubelet metrics from every Fargate node, cluster metrics, and Kubernetes events
- Your applications emit OTLP telemetry to the collector's Service
- The collector adds Kubernetes resource attributes to the data and forwards it to SigNoz via OTLP
- Explore metrics, logs, and traces in SigNoz
Step 1: Install the Collection Agent
Install the collector with Foundry, with or without the OpenTelemetry Operator. Follow the complete instructions in the K8s Serverless (EKS Fargate) - Install guide, or the OpenTelemetry Operator guide for the operator.
If you already run the manual sidecar collector, follow Migrate to Foundry to move it over.
Step 2: Send Telemetry from Your Applications
Instrument your applications with OpenTelemetry and point them at the sidecar in their pod, if you added it, or at the deployment collector's Service. See Send Data from Applications to the Collector.
Step 3: What Telemetry Can You Collect?
Once deployed, the collector supports:
- Application traces, metrics, and logs via OTLP
- Kubelet metrics from every Fargate node via the API-server proxy using
kubeletstats - Cluster metrics and Kubernetes events via
k8s_clusterandk8s_events - Kubernetes metadata enrichment via
k8sattributes
For details and limitations, see the K8s Serverless Overview.
Step 4: Collect Container Logs
Application logs reach the collector over OTLP from the application, or through CloudWatch Logs from Fargate's log router. For both routes and the CloudWatch setup, see Collect EKS Fargate Logs with OpenTelemetry and CloudWatch.
Step 5: Configure Options and Best Practices
The collector can be tuned for your needs:
- Batching and memory limits to manage volume and cost
- Resource detection and Kubernetes metadata enrichment
- Performance tuning: batch sizes, timeouts, resource limits
See the K8s Serverless (EKS Fargate) - Configure guide for step-by-step configurations.
Step 6: Multi-Environment and Multi-Cluster Setups
You can send telemetry from multiple EKS Fargate environments to a single SigNoz backend:
- Deploy the Collection Agent in each environment
- Set unique
k8s.cluster.namevalues per environment withK8S_CLUSTER_NAMEincasting.yaml - Point all collectors to the same SigNoz OTLP endpoint
For the install steps, see the K8s Serverless (EKS Fargate) - Install guide.
Step 7: Visualize Telemetry in SigNoz
After sending data to SigNoz, you can:
- Filter by
k8s.cluster.name,k8s.namespace.name, and other Kubernetes attributes - Build dashboards for per-environment, per-namespace, or per-service views
- Investigate traces and logs side-by-side for faster root cause analysis