Log de chamadas de API do Amazon Managed Service for Prometheus usando o AWS CloudTrail
O Amazon Managed Service for Prometheus está integrado ao AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, um perfil ou o AWS service (Serviço da AWS). O CloudTrail captura todas as chamadas de API para o Amazon Managed Service for Prometheus como eventos. As chamadas capturadas incluem aquelas do console do Amazon Managed Service for Prometheus e as chamadas de código para as operações de API do Amazon Managed Service for Prometheus. Usando as informações coletadas pelo CloudTrail, é possível determinar a solicitação feita ao Amazon Managed Service for Prometheus, o endereço IP do qual a solicitação foi feita, quando ela foi feita e outros detalhes.
Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:
-
Se a solicitação foi feita com credenciais de usuário raiz ou credenciais de usuário.
-
Se a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM.
-
Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
-
Se a solicitação foi feita por outro AWS service (Serviço da AWS).
Quando a Conta da AWS é criada, o CloudTrail torna-se ativo nela e você tem acesso automático ao Histórico de eventos do CloudTrail. O Histórico de eventos do CloudTrail fornece um registro visualizável, pesquisável, baixável e imutável dos últimos 90 dias de eventos de gerenciamento gravados em uma Região da AWS. Para obter mais informações, consulte Trabalhar com histórico de eventos do CloudTrail no Guia do usuário do AWS CloudTrail. Não há cobranças do CloudTrail pela visualização do Histórico de eventos.
Para obter um registro contínuo de eventos em sua Conta da AWS nos últimos 90 dias, crie uma trilha ou um armazenamento de dados de eventos do CloudTrail Lake.
- Trilhas do CloudTrail
-
Uma trilha permite que o CloudTrail entregue arquivos de log a um bucket do Amazon S3. As trilhas criadas usando o Console de gerenciamento da AWS são de várias regiões. Só é possível criar uma trilha de região única ou de várias regiões usando a AWS CLI. Criar uma trilha de várias regiões é uma prática recomendada, pois você captura atividades em todas as Regiões da AWS da conta. Ao criar uma trilha de região única, é possível visualizar somente os eventos registrados na Região da AWS da trilha. Para obter mais informações sobre trilhas, consulte Criar uma trilha para a Conta da AWS e Criar uma trilha para uma organização no Guia do usuário do AWS CloudTrail.
Uma cópia dos eventos de gerenciamento em andamento pode ser entregue no bucket do Amazon S3 sem nenhum custo via CloudTrail com a criação de uma trilha; no entanto, há cobranças de armazenamento do Amazon S3. Para obter mais informações sobre os preços do CloudTrail, consulte Preços do AWS CloudTrail
. Para receber informações sobre a definição de preços do Amazon S3, consulte Definição de preços do Amazon S3 . - Armazenamentos de dados de eventos do CloudTrail Lake
-
O CloudTrail Lake permite executar consultas baseadas em SQL nos eventos. O CloudTrail Lake converte eventos existentes em formato JSON baseado em linhas para o formato Apache ORC
. O ORC é um formato colunar de armazenamento otimizado para recuperação rápida de dados. Os eventos são agregados em armazenamentos de dados de eventos, que são coleções imutáveis de eventos baseados nos critérios selecionados com a aplicação de seletores de eventos avançados. Os seletores que aplicados a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para consulta. Para obter mais informações sobre o CloudTrail Lake, consulte Trabalhar com o AWS CloudTrail Lake, no Guia do usuário do AWS CloudTrail. Os armazenamentos de dados de eventos e consultas do CloudTrail Lake incorrem em custos. Ao criar um armazenamento de dados de eventos, você escolhe a opção de preço que deseja usar para ele. A opção de preço determina o custo para a ingestão e para o armazenamento de eventos, e o período de retenção padrão e máximo para o armazenamento de dados de eventos. Para obter mais informações sobre os preços do CloudTrail, consulte Preços do AWS CloudTrail
.
Eventos de gerenciamento do Amazon Managed Service for Prometheus no CloudTrail
Os eventos de gerenciamento fornecem informações sobre operações de gerenciamento executadas em recursos na Conta da AWS. Elas também são conhecidas como operações de ambiente de gerenciamento. Por padrão, o CloudTrail registra eventos de gerenciamento em logs.
O Amazon Managed Service for Prometheus gera logs de todas as operações do ambiente de gerenciamento do Amazon Managed Service for Prometheus como eventos de gerenciamento. Para ver uma lista das operações do ambiente de gerenciamento do Amazon Managed Service for Prometheus das quais o Amazon Managed Service for Prometheus gera logs no CloudTrail, consulte a Referência da API do Amazon Managed Service for Prometheus.
Exemplos de eventos do Amazon Managed Service for Prometheus
Um evento representa uma única solicitação de qualquer origem e inclui informações sobre a operação solicitada, a data e a hora da operação da API, os parâmetros de solicitação etc. Os arquivos de log do CloudTrail não são um rastreamento de pilha ordenada de chamadas de API públicas, portanto não são exibidos em uma ordem específica.
Exemplo: CreateWorkspace
O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra a ação CreateWorkspace.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE123EXAMPLE123-1234567890616", "arn": "arn:aws:sts::123456789012:assumed-role/Admin/admin", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "webIdFederationData": { }, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-11-30T23:39:29Z" } } }, "eventTime": "2020-11-30T23:43:21Z", "eventSource": "aps.amazonaws.com", "eventName": "CreateWorkspace", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.1", "userAgent": "aws-cli/1.11.167 Python/2.7.10 Darwin/16.7.0 botocore/1.7.25", "requestParameters": { "alias": "alias-example", "clientToken": "12345678-1234-abcd-1234-12345abcd1" }, "responseElements": { "Access-Control-Expose-Headers": "x-amzn-errortype,x-amzn-requestid,x-amzn-trace-id,x-amzn-errormessage,x-amz-apigw-id,date", "arn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-abc123456-abcd-1234-5678-1234567890", "status": { "statusCode": "CREATING" }, "workspaceId": "ws-12345678-1234-abcd-1234-1234567890" }, "requestID": "890b8639-e51f-11e7-b038-EXAMPLE", "eventID": "874f89fa-70fc-4798-bc00-EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }
Exemplo: CreateAlertManagerDefinition
O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra a ação CreateAlertManagerDefinition.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE123EXAMPLE123-1234567890616", "arn": "arn:aws:sts::123456789012:assumed-role/Admin/admin", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "webIdFederationData": { }, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-09-23T20:20:14Z" } } }, "eventTime": "2021-09-23T20:22:43Z", "eventSource": "aps.amazonaws.com", "eventName": "CreateAlertManagerDefinition", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.1", "userAgent": "Boto3/1.17.46 Python/3.6.14 Linux/4.14.238-182.422.amzn2.x86_64 exec-env/AWS_ECS_FARGATE Botocore/1.20.46", "requestParameters": { "data": "YWxlcnRtYW5hZ2VyX2NvbmZpZzogfAogIGdsb2JhbDoKICAgIHNtdHBfc21hcnRob3N0OiAnbG9jYWxob3N0OjI1JwogICAgc210cF9mcm9tOiAnYXBzQGFtYXpvbmF3cy5jb20nCiAgdGVtcGxhdGVzOgogICAgLSAnZGVmYXVsdF90ZW1wbGF0ZScKICByb3V0ZToKICAgIHJlY2VpdmVyOiBleGFtcGxlLXNucwogIHJlY2VpdmVyczoKICAgIC0gbmFtZTogZXhhbXBsZS1zbnMKICAgICAgc25zX2NvbmZpZ3M6CiAgICAgIC0gdG9waWNfYXJuOiAnYXJuOmF3czpzbnM6dXMtd2VzdC0yOjQ5Mjk4MDc1OTMyMjp0ZXN0U25zUmVjZWl2ZXInCg==", "clientToken": "12345678-1234-abcd-1234-12345abcd1", "workspaceId": "ws-12345678-1234-abcd-1234-1234567890" }, "responseElements": { "Access-Control-Expose-Headers": "x-amzn-errortype,x-amzn-requestid,x-amzn-trace-id,x-amzn-errormessage,x-amz-apigw-id,date", "status": { "statusCode": "CREATING" } }, "requestID": "890b8639-e51f-11e7-b038-EXAMPLE", "eventID": "874f89fa-70fc-4798-bc00-EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }
Exemplo: CreateRuleGroupsNamespace
O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra a ação CreateRuleGroupsNamespace.
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLE123EXAMPLE123-1234567890616", "arn": "arn:aws:sts::123456789012:assumed-role/Admin/admin", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:role/Admin", "accountId": "123456789012", "userName": "Admin" }, "webIdFederationData": { }, "attributes": { "creationDate": "2021-09-23T20:22:19Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-09-23T20:25:08Z", "eventSource": "aps.amazonaws.com", "eventName": "CreateRuleGroupsNamespace", "awsRegion": "us-west-2", "sourceIPAddress": "34.212.33.165", "userAgent": "Boto3/1.17.63 Python/3.6.14 Linux/4.14.238-182.422.amzn2.x86_64 exec-env/AWS_ECS_FARGATE Botocore/1.20.63", "requestParameters": { "data": "Z3JvdXBzOgogIC0gbmFtZTogdGVzdFJ1bGVHcm91cHNOYW1lc3BhY2UKICAgIHJ1bGVzOgogICAgLSBhbGVydDogdGVzdEFsZXJ0UnVsZQogICAgICBleHByOiB0ZXN0QWxlcnRNZXRyaWMgPiAwCiAgICAgIGZvcjogMW0K", "clientToken": "12345678-1234-abcd-1234-12345abcd1", "name": "exampleRuleGroupsNamespace", "workspaceId": "ws-12345678-1234-abcd-1234-1234567890" }, "responseElements": { "Access-Control-Expose-Headers": "x-amzn-errortype,x-amzn-requestid,x-amzn-trace-id,x-amzn-errormessage,x-amz-apigw-id,date", "name": "exampleRuleGroupsNamespace", "arn": "arn:aws:aps:us-west-2:492980759322:rulegroupsnamespace/ws-ae46a85c-1609-4c22-90a3-2148642c3b6c/exampleRuleGroupsNamespace", "status": { "statusCode": "CREATING" }, "tags": {} }, "requestID": "890b8639-e51f-11e7-b038-EXAMPLE", "eventID": "874f89fa-70fc-4798-bc00-EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }
Para obter informações sobre o conteúdo dos registros do CloudTrail, consulte Conteúdo dos registros do CloudTrail no Guia do usuário do AWS CloudTrail.