Registro de acesso em logs - AWS Elemental MediaPackage

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Registro de acesso em logs

O MediaPackage fornece logs de acesso que capturam informações detalhadas sobre as solicitações enviadas ao seu canal ou grupo de empacotamento do MediaPackage. O MediaPackage gera logs de acesso de entrada para solicitações enviadas aos endpoints de entrada do canal e logs de acesso de saída para solicitações enviadas aos endpoints do seu canal ou aos ativos do grupo de empacotamento. Cada log contém informações como a hora em que a solicitação foi recebida, o endereço IP do cliente, latências, caminhos de solicitação e respostas do servidor. Você pode usar esses logs de acesso para analisar o desempenho do serviço e solucionar problemas. Eles também podem ajudar a conhecer sua base de clientes e entender sua fatura do MediaPackage.

O registro de acesso em log é um recurso opcional do MediaPackage desabilitado por padrão. Após habilitar o registro de acesso em log, o MediaPackage vai capturar os logs e salvá-los no grupo de logs do CloudWatch que você especificar ao criar ou gerenciar o registro de acesso em log. Esse recurso gera as cobranças habituais do CloudWatch Logs.

Permissões para publicar logs de acesso no CloudWatch

Quando você habilitar o registro de acesso em log, o MediaPackage criará o perfil vinculado a serviço do IAM, AWSServiceRoleForMediaPackage, em sua conta da AWS. Esse perfil permite que o MediaPackage publique logs de acesso no CloudWatch. Para obter informações sobre como o MediaPackage usa os perfis vinculados a serviço, consulte Usar funções vinculadas ao serviço do MediaPackage.

Habilitar registro em log de acesso

Você pode habilitar os logs de acesso usando o AWS Management Console ou a AWS CLI.

Para habilitar os logs de acesso para um canal existente usando o console
  1. Abra o console do MediaPackage em https://console.aws.amazon.com/mediapackage/.

  2. Selecione o canal.

  3. Na seção Configurar logs de acesso, faça o seguinte:

    1. Escolha Habilitar logs de acesso de entrada ou Habilitar registros de acesso de saída ou ambos.

    2. É possível especificar um Nome de grupo de logs personalizado para o CloudWatch. Se esse campo ficar em branco, o sistema usará o grupo padrão.

Para habilitar os logs de acesso para um grupo de empacotamento existente usando o console
  1. Abra o console do MediaPackage em https://console.aws.amazon.com/mediapackage/.

  2. Selecione Grupos de empacotamento na seção de navegação.

  3. Escolha seu grupo de empacotamento.

    1. Selecione Editar na barra de navegação.

    2. Na seção Registro de acesso em log, selecione Habilitar logs de acesso de saída.

    3. É possível especificar um Nome de grupo de logs personalizado para o CloudWatch. Se esse campo ficar em branco, o sistema usará o grupo padrão.

  4. Escolha Save changes (Salvar alterações).

Para habilitar os logs de acesso para um canal usando a AWS CLI

Use o comando configure-logs com o parâmetro --ingress-access-logs, o parâmetro --egress-access-logs ou ambos para habilitar o registro de acesso em log. Você pode incluir um nome de grupo de logs do CloudWatch para os parâmetros --ingress-access-logs e --egress-access-logs. Se você não especificar um nome de grupo de logs, o sistema usará o grupo de logs padrão do MediaPackage. Para logs de entrada, o grupo de logs padrão é /aws/MediaPackage/IngressAccessLogs, e para logs de saída, o grupo de logs padrão é /aws/MediaPackage/EgressAccessLogs.

Use o comando a seguir para habilitar os logs de entrada e de acesso usando os grupos de logs padrão:

aws mediapackage configure-logs --id channel-name --ingress-access-logs {} --egress-access-logs {}

Este comando não possui valor de retorno.

Para habilitar os logs de acesso para um grupo de empacotamento usando a AWS CLI

Use o comando configure-logs com o parâmetro --egress-access-logs para habilitar o registro de acesso em log. Você pode incluir um nome de grupo de logs do CloudWatch para o parâmetro --egress-access-logs. Se você não especificar um nome de grupo de logs, o sistema usará o grupo de logs padrão do MediaPackage. Para logs de entrada, o grupo de logs padrão é /aws/MediaPackage/IngressAccessLogs, e para logs de saída, o grupo de logs padrão é /aws/MediaPackage/EgressAccessLogs.

Use o comando a seguir para habilitar os logs de acesso de saída usando os grupos de logs padrão:

aws mediapackage configure-logs --id package-name --egress-access-logs {}

Este comando não possui valor de retorno.

Desabilitar registro em log de acesso

Você pode desabilitar os logs de acesso do seu canal ou grupo de empacotamento do MediaPackage a qualquer momento.

Para desabilitar o registro de logs de acesso usando o console
  1. Abra o console do MediaPackage em https://console.aws.amazon.com/mediapackage/.

    Selecione seu canal ou grupo de pacotes.

  2. Escolha Editar.

  3. Na seção Registro de acesso em log, desmarque Registro de acesso de entrada em log, Registro de acesso de saída em log ou ambos.

  4. Escolha Save changes (Salvar alterações).

Para desabilitar o registro de acesso em logs para um canal usando a AWS CLI

Use o comando configure-logs para desabilitar o registro de acesso em logs. Se um ou mais parâmetros do log de acesso não forem declarados com o comando configure-logs, os logs de acesso correspondentes serão desabilitados. Por exemplo, no comando a seguir, os logs de acesso de saída estão habilitados para um canal e os logs de acesso de entrada estão desabilitados:

aws mediapackage configure-logs --id channel-name --egress-access-logs {}

Este comando não possui valor de retorno.

Para desabilitar o registro de acesso em logs para um grupo de empacotamento usando a AWS CLI

Use o comando configure-logs para desabilitar o registro de acesso em logs. Se um ou mais parâmetros do log de acesso não forem declarados com o comando configure-logs, os logs de acesso correspondentes serão desabilitados. Por exemplo, o comando configure-logs a seguir não inclui --egress-access-logs, portanto, os registros de saída estão desabilitados:

aws mediapackage configure-logs --id package-group-name

Este comando não possui valor de retorno.

Formato de log de acessos

Os arquivos de log de acesso consistem em uma sequência de registros de log em formato JSON, em que cada registro de log representa uma solicitação. A ordem dos campos dentro do log pode variar. Veja abaixo um exemplo de log de acesso de saída de canal:

{ "timestamp": "2020-07-13T18:59:56.293656Z", "clientIp": "192.0.2.0/24", "processingTime": 0.445, "statusCode": "200", "receivedBytes": 468, "sentBytes": 2587370, "method": "GET", "request": "https://aaabbbcccdddee.mediapackage.us-east-1.amazonaws.com:443/out/v1/75ee4f20e5df43e5821e5cb17ea19238/hls_7_145095.ts?m=1538005779", "protocol": "HTTP/1.1", "userAgent": "sabr/3.0 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Safari/528.17", "account": "111122223333", "channelId": "my_channel", "channelArn": "arn:aws:mediapackage:us-west-2:111122223333:channels/ExampleChannelID", "domainName": "aaabbbcccdddee.mediapackage.us-east-1.amazonaws.com", "requestId": "aaaAAA111bbbBBB222cccCCC333dddDDD", "endpointId": "my_endpoint", "endpointArn": "arn:aws:mediapackage:us-west-2:111122223333:origin_endpoints/ExampleEndpointID" }

A lista a seguir descreve os campos de registro de log, em ordem:

timestamp

A hora do dia em que a solicitação foi recebida. O valor é horário e data ISO-8601 baseados no relógio do sistema do host que atendeu a solicitação.

clientIp

O endereço IP do cliente solicitante.

processingTime

O número de segundos que o MediaPackage gastou para processar a solicitação. Esse valor é medido do momento do recebimento do último byte da solicitação até o momento em que o primeiro byte da resposta foi enviado.

statusCode

O código numérico do status do HTTP da resposta.

receivedBytes

O número de bytes no corpo da solicitação recebidos pelo servidor do MediaPackage.

sentBytes

O número de bytes no corpo da resposta enviados pelo servidor do MediaPackage. Esse valor costuma ser o mesmo que o valor do cabeçalho Content-Length incluído nas respostas do servidor.

method

O método de solicitação HTTP que foi usado para a solicitação: DELETE, GET, HEAD, OPTIONS, PATCH, POST ou PUT.

request

O URL da solicitação.

protocol

O tipo de protocolo usado para a solicitação, como HTTP.

userAgent

Uma string usuário-agente que identifica o cliente que originou a solicitação, delimitado entre aspas duplas. A string consiste em um ou mais identificadores de produto, produto/versão. Se a string tiver mais de 8 KB, ela ficará truncada.

conta

O ID de conta da AWS da conta que foi usada para fazer a solicitação.

channelId

O ID do canal que recebeu a solicitação.

channelArn

O nome do recurso da Amazon (ARN) do canal que recebeu a solicitação.

domainName

O domínio de indicação de nome do servidor fornecido pelo cliente durante o handshake do TLS, delimitado em aspas duplas. Esse valor será definido como - se o cliente não oferecer suporte a SNI ou o domínio não corresponder a um certificado e o certificado padrão for apresentado ao cliente.

requestId

Uma string gerada pelo MediaPackage para identificar exclusivamente cada solicitação.

endpointId

O ID do endpoint que recebeu a solicitação.

endpointArn

O nome do recurso da Amazon (ARN) do endpoint que recebeu a solicitação.

A ordem dos campos no log pode variar.

Ler os logs de acesso

O MediaPackage grava os logs de acesso no Amazon CloudWatch Logs. Esse recurso gera as cobranças habituais do CloudWatch Logs. Use o CloudWatch Logs Insights para ler os logs de acesso. Para obter informações sobre como usar o CloudWatch Logs Insights, consulte Analisar dados de log com o CloudWatch Logs Insights no Guia do usuário do AWS CloudWatch Logs.

nota

Os logs de acesso pode levar alguns minutos para aparecer no CloudWatch. Se você não visualizar os logs, aguarde alguns minutos e tente novamente.

Exemplos

Esta seção inclui consultas de exemplo que você pode usar para ler os dados do log de depuração do MediaPackage.

exemplo Visualize as respostas do código de status HTTP de um canal.

Use essa consulta para ver as respostas por código de status HTTP para um canal. Você pode usar isso para visualizar respostas de código de erro HTTP para ajudar na solução de problemas.

fields @timestamp, @message | filter channelId like 'my-channel' | stats count() by statusCode
exemplo Obtenha o número de solicitações por endpoint em um canal.
fields @timestamp, @message | filter channelId like 'my-channel' | stats count() by endpointId
exemplo Visualize códigos de status por ativo.
fields @timestamp, @message | filter assetArnlike 'my-asset-id' | stats count() by statusCode
exemplo Obter os tempos de resposta P99 para uma configuração de empacotamento no decorrer do tempo
fields @timestamp, @message | filter packagingConfigArn like 'my-dash-config' | stats pct(processingTime, 99) by bin(5m)