The ECS Serverless Collection Agent runs one OpenTelemetry Collector container in each of your Amazon ECS tasks on AWS Fargate, added to the task definition by the Terraform module that Foundry generates. It collects task metrics, container logs, and telemetry from your applications.
The ECS Serverless Collection Agent primarily performs the following:
- Collects the task metrics of each Fargate task.
- Receives the stdout and stderr of the task's containers, as the task's log router.
- Receives OTLP traces, metrics, and logs from the applications in the task and forwards them to SigNoz.
How it works
Sidecar (task container)
The sidecar runs as the signoz-collector-sidecar container in each Fargate task, beside your application containers. It collects task-level data:
- Task metrics: CPU, memory, network, and storage of the task via
awsecscontainermetrics, kept to the task-level metrics by thefilter/ecsprocessor. - Container logs: the stdout and stderr of the task's containers via
fluentforward, each under its container name asservice.name. Collect Container Logs explains which containers send them. - OTLP: traces, metrics, and logs from the applications in the task over OTLP/gRPC (4317) and OTLP/HTTP (4318) on
localhost. - Resource attributes: ECS task and cloud resource attributes via the
resourcedetectionprocessor.
Known Limitations
- No host metrics: Fargate gives a task no host, so there are no host metrics, the SigNoz Hosts view stays empty, and the collector adds no host name to telemetry. Task CPU, memory, network, and storage metrics take their place.
- Task-level metrics only: by default the collector sends task-level metrics, not per-container metrics. To add per-container metrics, see Collect Task Metrics.
- Only tasks with the collector: the collector sees only the task it runs in, so add it to each task definition you want to monitor, as Monitor More Task Definitions shows.