Retrieve Amazon ECS diagnostic details with agent introspection - Amazon Elastic Container Service

Retrieve Amazon ECS diagnostic details with agent introspection

The Amazon ECS agent introspection API provides information about the overall state of the Amazon ECS agent and the container instances.

You can use the agent introspection API to get the Docker ID for a container in your task. You can use the agent introspection API by connecting to a container instance using SSH.

Important

Your container instance must have an IAM role that allows access to Amazon ECS in order to reach the introspection API. For more information, see Amazon ECS container instance IAM role.

The following example shows two tasks, one that is currently running and one that was stopped.

Note

The following command is piped through the python -mjson.tool for greater readability.

curl http://localhost:51678/v1/tasks | python -mjson.tool

Output:

% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1095 100 1095 0 0 117k 0 --:--:-- --:--:-- --:--:-- 133k { "Tasks": [ { "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/090eff9b-1ce3-4db6-848a-a8d14064fd24", "Containers": [ { "DockerId": "189a8ff4b5f04affe40e5160a5ffadca395136eb5faf4950c57963c06f82c76d", "DockerName": "ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600", "Name": "simple-app" }, { "DockerId": "f7f1f8a7a245c5da83aa92729bd28c6bcb004d1f6a35409e4207e1d34030e966", "DockerName": "ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01", "Name": "busybox" } ], "Family": "console-sample-app-static", "KnownStatus": "STOPPED", "Version": "6" }, { "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/1810e302-eaea-4da9-a638-097bea534740", "Containers": [ { "DockerId": "dc7240fe892ab233dbbcee5044d95e1456c120dba9a6b56ec513da45c38e3aeb", "DockerName": "ecs-console-sample-app-static-6-simple-app-f0e5859699a7aecfb101", "Name": "simple-app" }, { "DockerId": "096d685fb85a1ff3e021c8254672ab8497e3c13986b9cf005cbae9460b7b901e", "DockerName": "ecs-console-sample-app-static-6-busybox-92e4b8d0ecd0cce69a01", "Name": "busybox" } ], "DesiredStatus": "RUNNING", "Family": "console-sample-app-static", "KnownStatus": "RUNNING", "Version": "6" } ] }

In the preceding example, the stopped task (090eff9b-1ce3-4db6-848a-a8d14064fd24) has two containers. You can use docker inspect container-ID to view detailed information on each container. For more information, see Amazon ECS container introspection.