Armazenamento de dados do projeto - Amazon CloudWatch

Armazenamento de dados do projeto

O Evidently coleta dois tipos de eventos:

  • Eventos de avaliação estão relacionados a qual variação de recurso é atribuída a uma sessão de usuário. O Evidently usa esses eventos para produzir métricas e outros dados de experimento e execução, que você pode visualizar no console do Evidently.

    Você também pode escolher armazenar esses eventos de avaliação no Amazon CloudWatch Logs ou no Amazon S3.

  • Eventos personalizados são usados para gerar métricas a partir de ações do usuário, como cliques e checkouts. O Evidently, não fornece um método para você armazenar eventos personalizados. Se você quiser salvá-los, deve modificar o código da aplicação para enviá-los para uma opção de armazenamento fora do Evidently.

Formato de logs de eventos de avaliação

Se você optar por armazenar eventos de avaliação nos logs do CloudWatch ou do Amazon S3, cada evento de avaliação será armazenado como um evento de log com o seguinte formato:

{ "event_timestamp": 1642624900215, "event_type": "evaluation", "version": "1.0.0", "project_arn": "arn:aws:evidently:us-east-1:123456789012:project/petfood", "feature": "petfood-upsell-text", "variation": "Variation1", "entity_id": "7", "entity_attributes": {}, "evaluation_type": "EXPERIMENT_RULE_MATCH", "treatment": "Variation1", "experiment": "petfood-experiment-2" }

Aqui estão mais detalhes sobre o formato de evento de avaliação anterior:

  • O timestamp está no horário do UNIX com milissegundos

  • A variação é o nome da variação do recurso que foi atribuído a essa sessão do usuário.

  • O ID da entidade é uma string.

  • Os atributos da entidade são um hash de valores arbitrários enviados pelo cliente. Por exemplo, se o entityId for mapeado para azul ou verde, você poderá, opcionalmente, enviar UserIDs, dados de sessão ou o que mais desejar de uma perspectiva de correlação e data warehouse.

Política do IAM e criptografia para armazenamento de eventos de avaliação no Amazon S3

Se optar por usar o Amazon S3 para armazenar eventos de avaliação, você deverá adicionar uma política do IAM como a que se segue para permitir que o Evidently publique logs no bucket do Amazon S3. Isso ocorre porque os buckets do Amazon S3 e os objetos que eles contêm são privados e não permitem acesso a outros serviços por padrão.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": ["s3:GetBucketAcl", "s3:ListBucket"], "Resource": "arn:aws:s3:::bucket_name" } ] }

Se você armazenar dados do Evidently no Amazon S3, também poderá optar por criptografá-los com criptografia do lado do servidor com Chaves AWS Key Management Service(SSE-KMS). Para obter mais informações, consulte Proteger dados usando a criptografia no lado do servidor.

Se você usar uma chave gerenciada pelo cliente do AWS KMS, você deve adicionar o seguinte à política do IAM para sua chave. Isso permite que Evidently grave no bucket.

{ "Sid": "AllowEvidentlyToUseCustomerManagedKey", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }