O Amazon Data Firehose era conhecido anteriormente como Amazon Kinesis Data Firehose
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á.
Gravando no Amazon Data Firehose usando registros CloudWatch
CloudWatch Os eventos de registros podem ser enviados para o Firehose usando filtros de CloudWatch assinatura. Para obter mais informações, consulte Filtros de assinatura com o Amazon Data Firehose.
CloudWatch Os eventos de registros são enviados para o Firehose no formato gzip compactado. Se você quiser entregar eventos de log descompactados para destinos do Firehose, você pode usar o recurso de descompactação no Firehose para descompactar automaticamente os registros. CloudWatch
Importante
Atualmente, o Firehose não suporta a entrega de CloudWatch registros para o destino do Amazon OpenSearch Service porque a Amazon CloudWatch combina vários eventos de log em um registro Firehose e o Amazon OpenSearch Service não pode aceitar vários eventos de log em um registro. Como alternativa, você pode considerar o uso do filtro de assinatura do Amazon OpenSearch Service em CloudWatch registros.
Descompressão de registros CloudWatch
Se você estiver usando o Firehose para entregar CloudWatch registros e quiser entregar dados descompactados para o destino do stream do Firehose, use o Firehose Data Format Conversion (Parquet, ORC) ou o particionamento dinâmico. Você deve ativar a descompressão para seu stream do Firehose.
Você pode ativar a descompressão usando o AWS Management Console, AWS Command Line Interface ou AWS SDKs.
nota
Se você ativar o recurso de descompressão em um stream, use esse stream exclusivamente para filtros de assinaturas do CloudWatch Logs, e não para Vended Logs. Se você ativar o recurso de descompressão em um stream usado para ingerir CloudWatch registros e registros vendidos, a ingestão de registros vendidos no Firehose falhará. Esse recurso de descompressão é somente para CloudWatch registros.
Extração de mensagens após a descompressão dos registros CloudWatch
Ao ativar a descompressão, você também tem a opção de ativar a extração de mensagens. Ao usar a extração de mensagens, o Firehose filtra todos os metadados, como proprietário, grupo de registros, fluxo de registros e outros, dos registros descompactados do CloudWatch Logs e entrega somente o conteúdo dentro dos campos da mensagem. Se você estiver entregando dados para um destino do Splunk, deverá ativar a extração de mensagens para que o Splunk analise os dados. A seguir estão exemplos de saídas após a descompressão com e sem extração de mensagens.
Figura 1: Saída da amostra após a descompressão sem extração de mensagem:
{ "owner": "111111111111", "logGroup": "CloudTrail/logs", "logStream": "111111111111_CloudTrail/logs_us-east-1", "subscriptionFilters": [ "Destination" ], "messageType": "DATA_MESSAGE", "logEvents": [ { "id": "31953106606966983378809025079804211143289615424298221568", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root1\"}" }, { "id": "31953106606966983378809025079804211143289615424298221569", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root2\"}" }, { "id": "31953106606966983378809025079804211143289615424298221570", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root3\"}" } ] }
Figura 2: Saída da amostra após a descompressão com extração de mensagem:
{"eventVersion":"1.03","userIdentity":{"type":"Root1"} {"eventVersion":"1.03","userIdentity":{"type":"Root2"} {"eventVersion":"1.03","userIdentity":{"type":"Root3"}
Ativando e desativando a descompressão
Você pode ativar e desativar a descompressão usando o AWS Management Console, AWS Command Line Interface ou AWS SDKs.
Habilitando a descompressão em um novo fluxo de dados usando o AWS Management Console
Para habilitar a descompressão em um novo fluxo de dados usando o AWS Management Console
-
Escolha Amazon Data Firehose no painel de navegação.
-
Escolha Create Firehose stream.
-
Em Escolha a origem e o destino
- Origem
-
A fonte do seu stream do Firehose. Escolha uma das seguintes fontes:
-
Direct PUT — Escolha essa opção para criar um stream do Firehose no qual os aplicativos produtores gravam diretamente. Para obter uma lista de AWS serviços, agentes e serviços de código aberto integrados ao Direct PUT no Firehose, consulte esta seção.
-
Stream do Kinesis: escolha essa opção para configurar um stream do Firehose que usa um stream de dados do Kinesis como fonte de dados. Em seguida, você pode usar o Firehose para ler dados facilmente de um stream de dados existente do Kinesis e carregá-los nos destinos. Para obter mais informações, consulte Gravando no Firehose usando o Kinesis Data Streams
-
- Destination (Destino)
-
O destino do seu stream do Firehose. Escolha uma das seguintes opções:
-
Amazon S3
-
Splunk
-
Em Firehose stream name, insira um nome para seu stream.
(Opcional) Em Transformar registros:
-
Na seção Descompactar registros de origem do Amazon CloudWatch Logs, escolha Ativar descompressão.
-
Se você quiser usar a extração de mensagens após a descompactação, escolha Ativar extração de mensagens.
-
Habilitando a descompressão em um fluxo de dados existente usando o AWS Management Console
Se você tiver um stream do Firehose com uma função Lambda para realizar a descompressão, poderá substituí-lo pelo recurso de descompressão do Firehose. Antes de continuar, revise o código da função Lambda para confirmar se ele só executa a descompressão ou a extração de mensagens. A saída da função Lambda deve ser semelhante aos exemplos mostrados na Figura 1 ou Figura 2 na seção anterior. Se a saída for semelhante, você poderá substituir a função Lambda usando as etapas a seguir.
Substitua sua função Lambda atual por esse esquema.
A nova função Lambda do blueprint detecta automaticamente se os dados recebidos estão compactados ou descompactados. Ele só executa a descompressão se os dados de entrada estiverem compactados. Ative a descompressão usando a opção Firehose integrada para descompressão.
Ative CloudWatch as métricas para seu stream do Firehose, caso ainda não esteja ativado. Monitore a métrica CloudWatchProcessorLambda _ IncomingCompressedData e espere até que essa métrica mude para zero. Isso confirma que todos os dados de entrada enviados para sua função Lambda estão descompactados e que a função Lambda não é mais necessária.
Remova a transformação de dados do Lambda porque você não precisa mais dela para descompactar seu stream.
Desativando a descompressão usando o AWS Management Console
Para desativar a descompressão em um fluxo de dados usando o AWS Management Console
-
Escolha Amazon Data Firehose no painel de navegação.
-
Escolha o stream do Firehose que você deseja editar.
-
Na página de detalhes do stream do Firehose, escolha a guia Configuração.
-
Na seção Transformar e converter registros, escolha Editar.
-
Em Descompactar registros de origem do Amazon CloudWatch Logs, desmarque Ativar descompressão e escolha Salvar alterações.
Perguntas frequentes
O que acontece com os dados de origem em caso de erro durante a descompressão?
Se o Amazon Data Firehose não conseguir descompactar o registro, o registro será entregue como está (em formato compactado) para o bucket S3 de erro que você especificou durante a criação do stream do Firehose. Junto com o registro, o objeto entregue também inclui código de erro e mensagem de erro, e esses objetos serão entregues a um prefixo de bucket do S3 chamado. decompression-failed
O Firehose continuará processando outros registros após uma falha na descompressão de um registro.
O que acontece com os dados de origem em caso de erro no pipeline de processamento após a descompressão bem-sucedida?
Se o Amazon Data Firehose cometer erros nas etapas de processamento após a descompactação, como particionamento dinâmico e conversão de formato de dados, o registro será entregue em formato compactado para o bucket S3 de erro que você especificou durante a criação do stream do Firehose. Junto com o registro, o objeto entregue também inclui código de erro e mensagem de erro.
Como você é informado em caso de erro ou exceção?
Em caso de erro ou exceção durante a descompactação, se você configurar o Logs, o Firehose CloudWatch registrará as mensagens CloudWatch de erro no Logs. Além disso, o Firehose envia métricas para CloudWatch métricas que você pode monitorar. Opcionalmente, você também pode criar alarmes com base nas métricas emitidas pelo Firehose.
O que acontece quando put
as operações não vêm do CloudWatch Logs?
Quando puts
o cliente não vem do CloudWatch Logs, a seguinte mensagem de erro é retornada:
Put to Firehose failed for AccountId: <accountID>, FirehoseName: <firehosename> because the request is not originating from allowed source types.
Quais métricas o Firehose emite para o recurso de descompressão?
O Firehose emite métricas para descompressão de cada registro. Você deve selecionar o período (1 min), a estatística (soma), o intervalo de datas para obter o número de DecompressedRecords
fracassados ou bem-sucedidos ou fracassados ou DecompressedBytes
bem-sucedidos. Para ter mais informações, consulte CloudWatch Métricas de descompressão de registros.