进程守护程序事件
Amazon ECS 发送进程守护程序事件,以提供进程守护程序任务管理和部署生命周期更改的可见性。您可以使用这些事件来监控进程守护程序运行状况、跟踪部署进度并触发自动化工作流程。
Amazon ECS 支持以下进程守护程序事件类型:
-
进程守护程序服务操作事件 - 与进程守护程序任务置放和启动问题相关的事件。
-
进程守护程序部署状态更改事件 - 与进程守护程序部署生命周期转换相关的事件。
要了解如何为这些事件创建规则,请参阅 创建进程守护程序事件的规则。
进程守护程序服务操作事件
Amazon ECS 发送具有详细信息类型 ECS Daemon
Service Action 的进程守护程序服务操作事件。这些事件会在 Amazon ECS 在您的容器实例上启动进程守护程序任务遇到问题时向您发出通知。
DAEMON_TASK_START_IMPAIRED
当 Amazon ECS 无法在容器实例上成功启动进程守护程序任务时,它会发送 DAEMON_TASK_START_IMPAIRED 事件。该事件包括一个指示失败原因的 failureType 字段:
-
TASK_FAILED_TO_RUN- 进程守护程序任务已创建,但未能达到RUNNING状态。常见原因包括容器映像拉取失败、容器运行状况检查失败或必备容器退出。taskArn字段存在于事件中。 -
TASK_CREATION_FAILED- 无法在容器实例上创建进程守护程序任务。常见原因包括实例上的 CPU、内存或其他资源不足。taskArn字段在事件中不存在,因为未创建任务。
示例:TASK_FAILED_TO_RUN 事件
以下事件显示了已创建但由于容器映像拉取失败而未能达到 RUNNING 状态的进程守护程序任务。
{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "ECS Daemon Service Action", "source": "aws.ecs", "account": "123456789012", "time": "2026-03-24T12:00:00Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:123456789012:task/my-cluster/a1b2c3d4e5f6" ], "detail": { "eventType": "WARNING", "eventName": "DAEMON_TASK_START_IMPAIRED", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster", "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/my-cluster/a1b2c3d4e5f6", "taskArn": "arn:aws:ecs:us-west-2:123456789012:task/my-cluster/a1b2c3d4e5f6", "daemonRevisionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-revision/my-cluster/my-daemon/a1b2c3d4-e5f6-7890-abcd-ef1234567890", "capacityProviderName": "my-capacity-provider", "daemonArn": "arn:aws:ecs:us-west-2:123456789012:daemon/my-cluster/my-daemon", "daemonTaskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-task-definition/my-daemon-td:1", "failureType": "TASK_FAILED_TO_RUN", "createdAt": "2026-03-24T12:00:00.000Z", "reason": "Task failed to reach RUNNING status: CannotPullContainerError: pull image manifest has been retried 5 time(s)" } }
示例:TASK_CREATION_FAILED 事件
以下事件显示了由于 CPU 资源不足而无法在容器实例上创建的进程守护程序任务。taskArn 字段不存在,因为未创建任务。
{ "version": "0", "id": "87654321-4321-4321-4321-210987654321", "detail-type": "ECS Daemon Service Action", "source": "aws.ecs", "account": "123456789012", "time": "2026-03-24T12:01:00Z", "region": "us-west-2", "resources": [], "detail": { "eventType": "WARNING", "eventName": "DAEMON_TASK_START_IMPAIRED", "clusterArn": "arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster", "containerInstanceArn": "arn:aws:ecs:us-west-2:123456789012:container-instance/my-cluster/b2c3d4e5f6a7", "daemonRevisionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-revision/my-cluster/my-daemon/a1b2c3d4-e5f6-7890-abcd-ef1234567890", "capacityProviderName": "my-capacity-provider", "daemonArn": "arn:aws:ecs:us-west-2:123456789012:daemon/my-cluster/my-daemon", "daemonTaskDefinitionArn": "arn:aws:ecs:us-west-2:123456789012:daemon-task-definition/my-daemon-td:1", "failureType": "TASK_CREATION_FAILED", "createdAt": "2026-03-24T12:01:00.000Z", "reason": "RESOURCE:CPU - Unable to place daemon task on container instance: insufficient CPU" } }
进程守护程序部署状态更改事件
Amazon ECS 发送详细信息类型为 ECS
Daemon Deployment State Change 的进程守护程序部署状态更改事件。每当进程守护程序部署状态发生更改时,Amazon ECS 都会发出这些事件。
部署状态更改事件类型
Amazon ECS 按以下事件类型对部署状态更改事件进行分类:
INFO 事件
-
DAEMON_DEPLOYMENT_PENDING- Amazon ECS 已启动进程守护程序部署。 -
DAEMON_DEPLOYMENT_IN_PROGRESS- Amazon ECS 已开始部署,并且正在积极替换进程守护程序任务。 -
DAEMON_DEPLOYMENT_SUCCESSFUL- Amazon ECS 已成功完成部署,所有进程守护程序任务均在运行且运行正常。 -
DAEMON_DEPLOYMENT_STOPPED- Amazon ECS 已停止部署。这种情况在部署失败或者被新的部署所替代时出现。 -
DAEMON_DEPLOYMENT_STOP_REQUESTED- Amazon ECS 已停止部署的推进进程,并将开始进行回滚操作。 -
DAEMON_DEPLOYMENT_ROLLBACK_IN_PROGRESS- Amazon ECS 已因部署失败或断路器触发而启动了回滚操作。 -
DAEMON_DEPLOYMENT_ROLLBACK_SUCCESSFUL- Amazon ECS 已成功完成部署回滚操作。
ERROR 事件
-
DAEMON_DEPLOYMENT_ROLLBACK_FAILED- Amazon ECS 无法完成部署回滚操作。
示例:部署待处理事件
以下事件显示了 Amazon ECS 已启动的进程守护程序部署。
{ "version": "0", "id": "3329f79b-3dca-07f8-b1c2-5fe99f0b5e87", "detail-type": "ECS Daemon Deployment State Change", "source": "aws.ecs", "account": "111122223333", "time": "2026-03-05T15:54:41Z", "region": "us-west-2", "resources": [ "arn:aws:ecs:us-west-2:111122223333:daemon/my-cluster/my-daemon" ], "detail": { "eventType": "INFO", "eventName": "DAEMON_DEPLOYMENT_PENDING", "clusterArn": "arn:aws:ecs:us-west-2:111122223333:cluster/my-cluster", "daemonArn": "arn:aws:ecs:us-west-2:111122223333:daemon/my-cluster/my-daemon", "daemonDeploymentArn": "arn:aws:ecs:us-west-2:111122223333:daemon-deployment/my-cluster/my-daemon/0EYSiB0qap8xf0N76FsbE", "targetDaemonRevisionArn": "arn:aws:ecs:us-west-2:111122223333:daemon-revision/my-cluster/my-daemon/85707969-3732-4b6a-a37d-5cefddd7d7dd", "updatedAt": "2026-03-05T15:54:41.618059641Z" } }
创建进程守护程序事件的规则
您可以创建规则,以便在发生进程守护程序事件时接收通知。有关创建规则的更多信息,请参阅《Amazon EventBridge 用户指南》中的创建规则。
以下示例事件模式显示了如何对进程守护程序事件进行筛选。
示例:匹配所有的进程守护程序服务操作事件
{ "source": ["aws.ecs"], "detail-type": ["ECS Daemon Service Action"] }
示例:匹配特定的故障类型
{ "source": ["aws.ecs"], "detail-type": ["ECS Daemon Service Action"], "detail": { "eventName": ["DAEMON_TASK_START_IMPAIRED"], "failureType": ["TASK_CREATION_FAILED"] } }
示例:匹配某个特定集群的事件
{ "source": ["aws.ecs"], "detail-type": ["ECS Daemon Service Action"], "detail": { "eventName": ["DAEMON_TASK_START_IMPAIRED"], "clusterArn": ["arn:aws:ecs:us-west-2:123456789012:cluster/my-cluster"] } }
示例:匹配所有的部署状态更改事件
{ "source": ["aws.ecs"], "detail-type": ["ECS Daemon Deployment State Change"] }