Ir para o conteúdo

Como uso o CloudWatch Logs para criar um filtro de assinatura para o Kinesis Data Streams?

5 minuto de leitura
0

Quero usar o Amazon CloudWatch Logs para criar um filtro de assinatura para que eu possa transmitir meus logs para o Amazon Kinesis Data Streams.

Resolução

Configure um filtro de assinatura para um fluxo de dados do Kinesis na mesma conta

Se você ainda não tiver um, crie um fluxo de dados do Kinesis.

Observação: a região da AWS do grupo de logs do CloudWatch e o destino do fluxo de dados do Kinesis devem ser os mesmos.

Crie uma política e um perfil do IAM com uma política de confiança personalizada

O perfil do AWS Identity and Access Management (AWS IAM) deve ter permissões de confiança para logs.yourregion.amazonaws.com e permitir a permissão kinesis:PutRecord.

Use uma política de confiança personalizada para criar um perfil do IAM. Na seção Política de confiança personalizada, insira a seguinte política de confiança:

{  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringLike": {
        "aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT_ID:*"
      }
    }
  }
}

Observação: substitua REGION pela sua região da AWS e ACCOUNT_ID pelo ID da sua conta da AWS.

Na seção Etapa 2: Adicione permissões, clique em Editar e adicione a seguinte declaração de política à política personalizada:

{  "Statement": {    "Effect": "Allow",
    "Action": "kinesis:PutRecord",
    "Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME"
  }
}

Observação: substitua REGION pela sua região, ACCOUNT_ID pelo ID da sua conta da AWS e STREAM_NAME pelo nome do seu fluxo.

A política anterior é específica para o Kinesis Data Streams. Para obter mais informações sobre permissões para o Amazon Data Firehose, consulte Concessão de acesso a seus recursos do Firehose.

Crie um filtro de assinatura

Conclua as etapas a seguir:

  1. Abra o console do CloudWatch.
  2. Clique em Gerenciamento de logs no painel de navegação.
  3. Selecione seu Grupo de logs.
  4. Clique em Ações e, em seguida, em Filtros de assinatura.
  5. Para configurar o destino, selecione Criar filtro de assinatura do Kinesis.
  6. Clique em Conta Atual.
  7. Selecione seu fluxo de dados do Kinesis na lista suspensa.
  8. Selecione o perfil do IAM que você criou.
  9. Selecione um método de distribuição. Para obter mais informações sobre distribuições, consulte Conceitos.
  10. Na seção Padrão de filtro da assinatura, defina o padrão de filtro.
  11. Insira um nome para seu filtro de assinatura.
  12. Verifique seu padrão com os dados de evento de logs existentes.
  13. Clique em Iniciar transmissão.

Para verificar se seu fluxo de dados funciona, analise as seguintes métricas de filtro da assinatura:

  • ForwardedBytes: O volume de eventos de logs em bytes compactados encaminhados ao destino da assinatura.
  • ForwardedLogEvents: O número de eventos de logs encaminhados para o destino da assinatura.

Para verificar se não há erros ao transmitir eventos de logs para o seu destino, analise as seguintes métricas:

  • DeliveryErrors: O número de eventos de logs que mostram que o CloudWatch Logs recebeu um erro ao encaminhar dados para o destino da assinatura.
  • DeliveryThrottling: O número de eventos de logs que mostram que o CloudWatch Logs foi limitado quando os dados foram encaminhados para o destino da assinatura.

Configure um filtro de assinatura para um fluxo de dados do Kinesis em outra conta

Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Crie um destino

Na conta do destinatário dos dados, crie um destino.

Crie um filtro de assinatura

Na conta de origem, conclua as seguintes etapas:

  1. Se você usa uma organização no AWS Organizations, crie um perfil do IAM. Caso contrário, vá para a etapa 2.
  2. Adicione ou valide as permissões do IAM no destino entre contas.
  3. Crie um grupo de logs para enviar eventos para o CloudWatch Logs.
  4. Crie o filtro de assinatura.

Para verificar se seu fluxo de dados funciona, analise as seguintes métricas de filtro da assinatura:

  • ForwardedBytes: O volume de eventos de logs em bytes compactados encaminhados ao destino da assinatura.
  • ForwardedLogEvents: O número de eventos de logs encaminhados para o destino da assinatura.

Para verificar se não há erros ao transmitir eventos de logs para o seu destino, analise as seguintes métricas:

  • DeliveryErrors: O número de eventos de logs que mostram que o CloudWatch Logs recebeu um erro ao encaminhar dados para o destino da assinatura.
  • DeliveryThrottling: O número de eventos de logs que mostram que o CloudWatch Logs foi limitado quando os dados foram encaminhados para o destino da assinatura.

Se você tiver um fluxo de dados dedicado do Kinesis, verifique as métricas do fluxo de dados para confirmar a funcionalidade.

Para problemas com o registro em log entre contas, consulte Solucionar problemas de configuração entre contas do CloudWatch.

Informações relacionadas

Criar um usuário e uma política do IAM

Cross-account cross-AWS Region log data sharing using Amazon Kinesis Data Streams (Compartilhamento de dados de log entre contas e regiões da AWS usando o Amazon Kinesis Data Streams)