透過代理程式自我檢查功能擷取 Amazon ECS 診斷詳細資訊
Amazon ECS 代理程式自我檢查 API 提供 Amazon ECS 代理程式與容器執行個體整體狀態的相關資訊。
例如,您可以透過代理程式自我檢查 API 取得任務容器的 Docker ID。您可以使用 SSH 連線到容器執行個體,使用代理自我檢查 API。
重要
您的容器執行個體必須擁有允許存取 Amazon ECS 以連接自我檢查 API 的 IAM 角色。如需更多詳細資訊,請參閱 Amazon ECS 容器執行個體 IAM 角色。
下例顯示兩個任務,一個目前正在執行,一個已停止。
注意
以下命令透過 python -mjson.tool 進行管道輸送,以取得更佳的可讀性。
curl http://localhost:51678/v1/tasks | python -mjson.tool
輸出:
% 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"
}
]
}在上例中,停止的任務 (090eff9b-1ce3-4db6-848a-a8d14064fd24) 有兩個容器。您可以使用 docker inspect
container-ID 以檢視每個容器的詳細資訊。如需更多詳細資訊,請參閱 Amazon ECS 容器自我檢查。