Monitoramento
Esta página aborda o registro em log do CloudWatch (compilação e runtime) e a auditoria do CloudTrail para o AWS Lambda MicroVMS.
Registro em log (CloudWatch Logs)
O AWS Lambda MicroVMS transmite logs para o CloudWatch em duas fases:
- Logs da compilação
-
O Lambda gera logs de compilação durante a criação da imagem, incluindo os resultados da execução do
Dockerfile, o startup da aplicação e as invocações do hook. Esses logs são transmitidos com o uso da função de compilação e são gravados no grupo de logs padrão/aws/lambda/microvms/<image-name>. - Logs de runtime
-
O Lambda transmite stdout e stderr da aplicação das microVMs em execução para o CloudWatch. Os logs de runtime são transmitidos usando a função de execução e gravados no mesmo grupo de logs padrão. O fluxo de logs assume como padrão a ID da microVM.
Importante
Sem uma função de execução, stdout e stderr da aplicação não são encaminhados para o CloudWatch no runtime. Para receber logs de runtime, forneça uma função de execução com as permissões logs:CreateLogGroup, logs:CreateLogStream e logs:PutLogEvents.
Destinos personalizados para os logs
Você pode configurar um grupo de logs personalizado e transmitir por meio do parâmetro --logging em run-microvm ou create-microvm-image:
--logging '{"cloudWatch":{"logGroup":"/my-app/microvms","logStream":"custom-stream"}}'
Se você omitir logStream, o padrão será a ID da microVM.
Você pode desabilitar explicitamente o registro em logs passando a seguinte configuração:
--logging '{"disabled":{}}'
Registro em log do CloudTrail
O Lambda MicroVM é integrado ao CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, um perfil ou um serviço da AWS. O CloudTrail captura todas as chamadas de API do Lambda MicroVMS como eventos. As chamadas capturadas incluem as chamadas do console do Lambda MicroVMS e as chamadas de código para as operações da API do Lambda MicroVMS.
Se você criar uma trilha, poderá habilitar a entrega contínua de eventos do CloudTrail para um bucket do Amazon S3, incluindo eventos para o Lambda MicroVMS. Se você não configurar uma trilha, ainda poderá visualizar os eventos mais recentes no console do CloudTrail em Histórico de eventos.
Usando as informações coletadas pelo CloudTrail, é possível determinar a solicitação feita ao Lambda MicroVMS, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e outros detalhes.
O CloudTrail registra dois tipos de eventos para o Lambda MicroVMS: eventos de gerenciamento (operações do ambiente de gerenciamento, como criar e excluir imagens) e eventos de dados (operações do plano de dados, como executar e encerrar microVMs). Por padrão, os eventos de gerenciamento são registrados em log. Os eventos de dados exigem aceitação explícita.
Eventos de gerenciamento
Os eventos de gerenciamento do Lambda MicroVMS são operações do ambiente de gerenciamento que são registradas em log por padrão no CloudTrail. Os eventos de gerenciamento incluem criar, atualizar e excluir imagens de microVM e listar e descrever os recursos.
As seguintes ações do Lambda MicroVMS são registradas em log como eventos de gerenciamento:
CreateMicrovmImageDeleteMicrovmImageDeleteMicrovmImageVersionUpdateMicrovmImageUpdateMicrovmImageVersionListMicrovmImagesGetMicrovmImageListMicrovmImageVersionsGetMicrovmImageVersionListMicrovmImageBuildsGetMicrovmImageBuildListMicrovmsGetMicrovmListManagedMicrovmImages
Eventos de dados
Os eventos de dados fornecem informações sobre as operações do recurso realizadas em um recurso ou dentro de um recurso (por exemplo, execução ou finalização de uma microVM). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, o CloudTrail não registra eventos de dados em log. É necessário habilitar explicitamente o registro de eventos de dados em log para o Lambda MicroVMS.
O tipo de recurso do CloudTrail para eventos de dados do Lambda MicroVMS é AWS::Lambda::MicrovmImage. É possível usar o console do CloudTrail ou a CLI da AWS para configurar uma trilha ou o armazenamento de dados de eventos para registrar em log os eventos de dados.
As seguintes ações do Lambda MicroVMS são registradas em log como eventos de dados:
RunMicrovmTerminateMicrovmSuspendMicrovmResumeMicrovmCreateMicrovmAuthTokenCreateMicrovmShellAuthToken
Para registrar os eventos de dados em log em relação a todas as imagens da microVM, use o seguinte seletor de eventos avançado:
{ "Name": "Log Lambda MicroVM data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::MicrovmImage"] } ] }
Habilitar o registro de eventos de dados em log
Para habilitar o registro de eventos de dados em log usando a CLI da AWS, execute o comando put-event-selectors com os seletores de evento avançados:
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"] } ] }]'
Compreensão das entradas de log do CloudTrail
Uma trilha do CloudTrail fornece os registros de atividade da API para um bucket do Amazon S3 especificado por você. Cada entrada de registro em log representa uma única solicitação de API e inclui a identidade do chamador, o carimbo de data/hora, os parâmetros da solicitação e a resposta.
O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra um evento de dados para a ação 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" }