Data Stream
Envie em lotes os logs do Activity History, de aplicações, de functions e do WAF para um SIEM ou uma plataforma de big data ou de processamento de streams.
Log streaming é uma forma de coletar os registros que uma plataforma escreve sobre o tráfego e a conta dela. A plataforma envia cada registro, no momento em que ele acontece, para um destino que você opera, como um SIEM (um sistema de gerenciamento de informações e eventos de segurança), um data warehouse ou um processador de streams. Você analisa os registros nas suas próprias ferramentas e não consulta uma API repetidamente para coletá-los.
Data Stream envia os logs de eventos do Activity History, de aplicações, de functions e do WAF para um endpoint por stream. Cada stream formata os eventos com um template e os envia em lotes. Use Data Stream para alimentar um SIEM com eventos do WAF, manter logs de requisições em um data warehouse, auditar as mudanças feitas na sua conta ou depurar functions.
Primeiros passos Configurações do streamObjeto do stream
Um stream é um objeto JSON. Este envia todos os eventos do Activity History para um bucket pelo protocolo S3:
inputsguarda a fonte de dados, pelo slug dela na API.activity_historyé Activity History no Azion Console.transformguarda o escopo do stream, que é exatamente um entre um itemsamplinge um itemfilter_workloads. Umratede100envia todos os eventos.transformtambém guarda o template que renderiza cada evento como uma linha de log. O template251é o template predefinido Activity History Collector.outputsguarda o único endpoint para o qual o stream envia. O Console rotula esse campo como Connector.
O formulário do Console escreve o mesmo objeto, e as seções General, Input, Transform, Render Template, Output e Status dele correspondem a essas chaves. Para cada campo, consulte Configurações do stream.
Caminho de entrega
Um stream não envia cada linha de log quando o evento dela acontece. Ele renderiza os eventos como linhas de log, agrupa as linhas em um lote e envia o lote.
- Um evento acontece: uma requisição chega a uma aplicação, uma function escreve uma mensagem de log, WAF analisa uma requisição ou alguém altera a conta.
- A fonte de dados registra o evento. O stream mantém o evento somente quando ele fica dentro do escopo que o sampling ou o filtro de workloads define.
- O template renderiza o evento como uma linha de log. O data set dele mapeia cada chave da linha para uma variável, como
"status": "$status". - A linha de log entra em um lote, que fecha com 2.000 linhas de log ou após 60 segundos, o que acontecer primeiro. Uma linha de log pode esperar até um minuto antes de sair.
- O stream envia o lote fechado para o endpoint. Data Stream verifica cada endpoint uma vez por minuto e descarta as linhas de log de um intervalo quando o endpoint está indisponível.
- Real-Time Events registra cada envio, com o status HTTP que o endpoint retornou.
Salvar um stream verifica o formato dos campos dele, não o endpoint, então os primeiros registros de entrega no Real-Time Events são o teste de um stream. Para cada etapa, consulte Como o Data Stream funciona.
Escopo e limites
- Fontes de dados: um stream coleta de uma entre quatro fontes de dados: Activity History, Applications, Functions ou WAF Events. WAF Events precisa do Firewall com WAF. Para as variáveis de cada uma, consulte Fontes de dados e variáveis.
- Endpoints: um stream envia para um entre 11 tipos de endpoint: Standard HTTP/HTTPS POST, Apache Kafka, Simple Storage Service (S3), Google BigQuery, Elasticsearch, Splunk, AWS Kinesis Data Firehose, Datadog, IBM QRadar, Azure Monitor e Azure Blob Storage. Enviar os mesmos eventos para dois endpoints exige dois streams. Para os campos de cada tipo, consulte Endpoints.
- Templates: a Azion fornece cinco templates predefinidos, e você escreve um template personalizado para escolher as variáveis de cada linha de log.
- Lotes: um lote guarda 2.000 linhas de log ou 60 segundos de eventos. Um endpoint AWS Kinesis Data Firehose recebe lotes de 500 linhas de log ou 60 segundos, e um lote Standard HTTP/HTTPS POST também fecha ao atingir o Payload Max Size dele. Os logs chegam à sua infraestrutura em até 3 minutos.
- Escopo: um stream carrega uma taxa de sampling ou um filtro de workloads escolhidos, nunca os dois. Salvar um stream ativo com sampling desativa todos os outros streams da conta, enquanto streams com filtro de workloads rodam lado a lado. Para as duas opções, consulte Configurações do stream.
- Interfaces: você cria, visualiza, edita e exclui streams no Azion Console e pela Azion API, em
/v4/workspace/stream/streams. Azion CLI não tem comando de stream. Para alterar ou remover um stream, consulte Edite, pare ou exclua um stream. - Permissões: View Data Stream mostra os streams da conta, e Edit Data Stream é necessária para criar, editar ou excluir um stream. Para saber como elas são concedidas, consulte Permissões de equipes.
- Registros de entrega: Real-Time Events registra cada envio com o status, as linhas de log e os bytes dele. A aba Data Stream dos dashboards de Observe do Real-Time Metrics soma os envios ao longo do tempo.
- Uso por plano: Data Stream não exige etapa de ativação: um stream é executado assim que você o salva. Ele é cobrado por Requests e Data Transfer, e cada plano inclui uma quantidade mensal dos dois, listada em Limites de Data Stream. Para os valores, consulte Preços.
- Falhas: quando um endpoint está indisponível ou responde com um erro, as linhas de log daquele envio não chegam a ele. Para as causas e as correções, consulte Solucionar problemas de Data Stream.
Data Stream não armazena nem consulta logs. Real-Time Events mantém os eventos brutos dos seus produtos por 7 dias e os eventos do Activity History por 2 anos, enquanto o seu endpoint mantém o que o stream envia pelo tempo que você decidir.