Envie logs para um endpoint HTTP
Crie um stream que envia os logs das suas aplicações para uma URL HTTP ou HTTPS, no Azion Console ou com a Azion API, e confirme a entrega.
Você pode enviar os logs de um stream para qualquer URL que receba requisições POST HTTP ou HTTPS pelo Azion Console ou com a Azion API. Para alterar o corpo de cada requisição, por exemplo para enviar um array JSON, consulte Personalize o payload do HTTP POST.
Data Stream envia as linhas de log de cada lote no corpo de requisições POST para a sua URL. No formulário do stream, o endpoint é definido no campo Connector, e o endpoint HTTP é a opção Standard HTTP/HTTPS POST desse campo. Use-o para uma plataforma que não tem opção própria nessa lista. Para ver todos os campos e os limites deles, consulte Endpoints.
O exemplo coleta as requisições de um workload com a fonte de dados Applications.
Pré-requisitos
Console
- Uma conta Azion com a permissão Edit Data Stream. Para ver as permissões, consulte Configurações do stream.
- Um workload na conta que recebe requisições.
- A URL que recebe os logs. Ela precisa começar com
http://ouhttps://e aceitar requisiçõesPOST. - Os headers que a sua plataforma exige para aceitar as requisições, como uma chave de acesso. O Data Stream os envia em todas as requisições.
- Um endpoint que receba cada lote em até 20 segundos. Depois de 20 segundos, o envio termina com o status
504. Para ver o timeout, consulte Limites de Data Stream. - Acesso ao Azion Console. Para entrar, consulte Acessar Azion Console.
Crie o stream
O stream coleta do workload que você escolher, por meio de um filtro de workloads. Ao contrário do sampling, um filtro de workloads mantém seus outros streams ativos.
Console
Para criar o stream no Azion Console:
Acesse Azion Console > Data Stream.
Na seção General, informe um Name. Por exemplo: logs-to-http.
Na seção Input, selecione Applications em Data Source.
Na seção Transform, desative Sampling enquanto Option ainda estiver em All Current and Future Workloads, o valor inicial. Um stream não pode ter sampling e filtro de workloads ao mesmo tempo.
Na seção Transform, defina Option como Filter Workloads. Em Available Workload, selecione seu workload e mova-o para Chosen Workload com a seta. Se o seu Console nomeia domínios onde esta guia nomeia workloads, o mesmo controle aparece como Filter Domains. A lista de seleção passa a mostrar Available Domain e Chosen Domain.
Na seção Render Template, selecione Applications Event Collector em Template.
Na seção Output, selecione Standard HTTP/HTTPS POST em Connector. Essa é a opção padrão.
Em URL, informe a URL que recebe os logs. Por exemplo: https://logs.example.com/ingest.
Mantenha $dataset em Payload Format, \n em Payload Log Line Separator e 1000000 em Payload Max Size. Com esses valores, o endpoint recebe uma linha de log por linha, no formato NDJSON.
Em Custom Headers, informe um header no campo Header, no formato header-name:value. Por exemplo: Authorization:Bearer [API KEY]. O Console exige pelo menos um header. Para adicionar outro, selecione Header. O Console aceita até cinco headers.
Na seção Status, mantenha Active ativado.
O Console mostra Your data stream has been created. O stream aparece na lista do Data Stream com HTTP na coluna Connector e o status Active.
A API e o Console salvam o stream sem contatar a URL. Uma URL ou um header errado só aparece quando o stream envia. Uma ativação entra em vigor depois de um a dois minutos.
Confirme a entrega
Real-Time Events registra todos os envios de um stream, entregues ou não, com o status code que o endpoint retornou. Envie algumas requisições ao workload e espere cerca de um minuto: um stream envia um lote a cada 60 segundos, ou antes, quando chega a 2.000 linhas de log.
Console
Para encontrar os envios no Azion Console:
Acesse Azion Console > Real-Time Events.
Cada linha é um envio. Encontre as linhas com HTTP_POST em Endpoint Type e leia o Status Code delas.
Um Status Code 200 significa que o seu endpoint aceitou o lote. Streamed Lines mostra o número de linhas de log do lote.
Um status diferente de 200 é a resposta do seu endpoint, com duas exceções. 503 significa que o Data Stream encontrou o endpoint indisponível, e 504 significa que o endpoint não recebeu o lote em até 20 segundos. Uma URL que não aceita requisições POST responde a cada envio com o próprio erro, como 405. Para ver as causas, consulte Solucionar problemas de Data Stream.