监控
本页介绍 AWS Lambda MicroVMs 的 CloudWatch 日志记录(构建和运行时)和 CloudTrail 审计功能。
日志记录(CloudWatch Logs)
AWS Lambda MicroVMs 会分两个阶段将日志流式传输到 CloudWatch:
- 构建日志
-
Lambda 会在映像创建过程中生成日志,包括
Dockerfile执行、应用程序启动和钩子调用的输出。这些日志使用构建角色进行流式传输并写入默认日志组/aws/lambda/microvms/<image-name>。 - 运行时日志
-
Lambda 会将来自正在运行的 MicroVM 的应用程序 stdout 和 stderr 流式传输到 CloudWatch。运行时日志使用执行角色流式传输并写入同一默认日志组,日志流默认为 MicroVM ID。
重要
如果没有执行角色,应用程序 stdout 和 stderr 将不会在运行时转发到 CloudWatch。要接收运行时日志,请提供一个具有 logs:CreateLogGroup、logs:CreateLogStream 和 logs:PutLogEvents 权限的执行角色。
自定义日志目标
您可以通过 run-microvm 或 create-microvm-image 上的 --logging 参数配置自定义日志组和流:
--logging '{"cloudWatch":{"logGroup":"/my-app/microvms","logStream":"custom-stream"}}'
如果省略 logStream,则将默认为 MicroVM ID。
您可以通过传递以下配置来显式禁用日志记录:
--logging '{"disabled":{}}'
CloudTrail 日志
Lambda MicroVMs 与 CloudTrail 集成,后者是一项提供用户、角色或 AWS 服务所执行操作的记录的服务。CloudTrail 将 Lambda MicroVMs 的所有 API 调用作为事件捕获。捕获的调用包括来自 Lambda MicroVMs 控制台的调用和对 Lambda MicroVMs API 操作的代码调用。
如果您创建跟踪记录,则可以使 CloudTrail 事件持续传送到 Amazon S3 存储桶(包括 Lambda MicroVMs 的事件)。如果您不配置跟踪,则仍可在 CloudTrail 控制台中的事件历史记录中查看最新事件。
使用通过 CloudTrail 收集的信息,您可以确定向 Lambda MicroVMs 发出的请求、发出请求的 IP 地址、请求的发出方、请求的发出时间以及其他详细信息。
CloudTrail 会记录两种类型的 Lambda MicroVMs 事件:管理事件(创建和删除映像等控制面板操作)和数据事件(运行和终止 MicroVM 等数据面板操作)。系统会默认记录管理事件。数据事件的记录需要显式启用。
管理事件
Lambda MicroVMs 管理事件是默认会在 CloudTrail 中记录的控制面板操作。管理事件包括创建、更新和删除 MicroVM 映像,以及列出和描述资源。
以下 Lambda MicroVMs 操作将被记录为管理事件:
CreateMicrovmImageDeleteMicrovmImageDeleteMicrovmImageVersionUpdateMicrovmImageUpdateMicrovmImageVersionListMicrovmImagesGetMicrovmImageListMicrovmImageVersionsGetMicrovmImageVersionListMicrovmImageBuildsGetMicrovmImageBuildListMicrovmsGetMicrovmListManagedMicrovmImages
数据事件
数据事件提供有关对在资源上或资源内所执行资源操作的信息(例如运行或终止某个 MicroVM)。这些也称为数据面板操作。数据事件通常是高容量活动。默认情况下,CloudTrail 不记录数据事件。您必须为 Lambda MicroVMs 显式启用数据事件日志记录。
Lambda MicroVMs 数据事件的 CloudTrail 资源类型为 AWS::Lambda::MicrovmImage。您可以使用 CloudTrail 控制台或 AWS CLI 来配置跟踪记录或事件数据存储,从而记录数据事件。
以下 Lambda MicroVMs 操作将被记录为数据事件:
RunMicrovmTerminateMicrovmSuspendMicrovmResumeMicrovmCreateMicrovmAuthTokenCreateMicrovmShellAuthToken
要记录所有 MicroVM 映像的数据事件,请使用以下高级事件选择器:
{ "Name": "Log Lambda MicroVM data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::MicrovmImage"] } ] }
启用数据事件日志记录
要使用 AWS CLI 启用数据事件日志记录,请使用高级事件选择器运行 put-event-selectors 命令:
aws cloudtrail put-event-selectors \ --trail-name my-trail \ --advanced-event-selectors '[{ "Name": "Log Lambda MicroVM data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::MicrovmImage"] } ] }]'
了解 CloudTrail 日志条目
CloudTrail 跟踪记录会将 API 活动记录传输到您指定的 Amazon S3 存储桶。每个日志条目都代表一条 API 请求,包括调用者身份、时间戳、请求参数和响应。
下面的示例演示的 CloudTrail 日志条目展示了 RunMicrovm 操作的一个数据事件:
{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "A1B2C3D4E5F6G7EXAMPLE:mySessionName", "arn": "arn:aws:sts::111122223333:assumed-role/MyRole/mySessionName", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE" }, "eventTime": "2026-04-20T18:26:44Z", "eventSource": "lambda.amazonaws.com", "eventName": "RunMicrovm", "awsRegion": "us-east-1", "sourceIPAddress": "127.0.0.1", "requestParameters": { "microvmImageArn": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image" }, "responseElements": { "microvmId": "ai-12345678-abcd-1234-ef56-123456789abc", "microvmState": "PENDING", "endpoint": "12345678-abcd-1234-ef56-123456789abc.lambda-microvm.us-east-1.on.aws", "microvmImageArn": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image", "microvmImageVersion": "1.0" }, "requestID": "7aebcd0f-cda1-11e4-aaa2-e356da31e4ff", "eventID": "e92a3e85-8ecd-4d23-8074-843aabfe89bf", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::Lambda::MicrovmImage", "ARN": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data" }