EKS Fargate runs each pod on a Fargate node of its own, with no DaemonSets, host paths, or host ports. The EKS Fargate Collection Agent runs a deployment collector, one OpenTelemetry Collector Deployment that collects kubelet metrics, cluster metrics, Kubernetes events, and telemetry from your applications. A sidecar runs the collector inside the application pods you add it to and receives their telemetry inside the pod.
The EKS Fargate Collection Agent primarily performs the following:
- Collects kubelet metrics from every Fargate node through the Kubernetes API server.
- Gathers cluster-level metrics and Kubernetes events from the Kubernetes API server.
- Receives OTLP traces, metrics, and logs from your applications and forwards them to SigNoz.
- Receives an application's telemetry inside its own pod when you add the sidecar to it, and adds the pod's Kubernetes resource attributes to every signal.
How it works
Deployment collector
The deployment collector runs as one Deployment and reaches every Fargate node through the Kubernetes API server:
- Kubelet metrics: container, pod, node, and volume metrics from every Fargate node.
- Cluster metrics: node and pod conditions, allocatable resources, and workload status.
- Kubernetes events: as logs.
- OTLP: traces, metrics, and logs from your applications over OTLP/gRPC (4317) and OTLP/HTTP (4318), on the deployment collector's Service.
- Resource attributes: the namespace, pod name and UID, node, and owning workload of the pod that sent the data, plus
k8s.cluster.name,cloud.provider, andcloud.platform.
The deployment collector runs one replica. A rollout stops the old pod before it starts the new one, so each node is scraped once.
Sidecar
The sidecar runs as a native sidecar container in each application pod you add it to, and exports that pod's telemetry to SigNoz directly:
- OTLP: traces, metrics, and logs from the pod's containers over OTLP/gRPC (4317) and OTLP/HTTP (4318) on
localhost. - Resource attributes: the pod's namespace, name and UID, node, and owning Deployment, StatefulSet, DaemonSet, Job, or CronJob, plus
k8s.cluster.name,cloud.provider, andcloud.platform, on every signal.
Pods without the sidecar keep sending to the deployment collector's Service, and the deployment collector's kubelet scrapes cover the usage metrics of every pod.
Known Limitations
- Host metrics: Fargate exposes no host to a pod, so neither the deployment collector nor the sidecar collects host metrics. Node CPU, memory, network, and filesystem metrics come from the kubelet instead, and the SigNoz Hosts view stays empty.
- Container logs: Fargate keeps stdout and stderr out of a pod's reach. Send application logs over OTLP, or route stdout and stderr through CloudWatch Logs, as Collect EKS Fargate Logs shows.
- Fargate nodes only: the deployment collector scrapes the nodes labelled
eks.amazonaws.com/compute-type=fargate. EC2 nodes in the same cluster show no pod or container metrics unless an agent such as K8s Infra runs on them.
Next Steps
- Install the EKS Fargate Collection Agent
- Configure the EKS Fargate Collection Agent
- Add the sidecar to your workloads
- Monitor Kubernetes Clusters in EKS Fargate
- Telemetry Data Requirements for Infrastructure Monitoring
If you already run the manual sidecar collector, follow Migrate to Foundry to move it over.