Real-Time Events

Real-Time Events é um produto de Observe que fornece dados brutos, logs, de outros produtos da Azion em tempo real.

Um conjunto de variáveis pré-organizadas estão disponíveis para fazer consultas manuais utilizando diferentes fontes de dados, permitindo que você obtenha informações extensas e detalhadas sobre comportamentos, ocorrências e desempenho de suas aplicações por meio de logs.

Você pode usar o Real-Time Events para:

  • Realizar pesquisas complexas.
  • Inspecionar possíveis ataques.
  • Executar investigações de debugging.
  • Analisar o desempenho de aplicações.
  • Analisar economia de aplicações e plataformas.
  • Aumentar a confiabilidade dos seus dados.
  • Diminuir o tempo de resolução de problemas.
  • Melhorar a entrega de conteúdo com base em dados reais.

Implementação

TarefaGuia
Primeiros passosPrimeiros passos do Real-Time Events

Armazenamento de eventos

O Real-Time Events armazena logs de eventos das últimas 168 horas, equivalente a 7 dias. Você pode consultar dados detalhados durante esse período.

O data source Activity History armazena logs de eventos dos últimos 2 anos.


Data sources

Data Source representa o produto ou serviço da Azion que gerou os eventos que você consultará. Ao enviar uma consulta, o data source representa o índice de onde você deseja coletar dados.

A seleção de um data source nas abas é obrigatória. Você pode escolher entre:

  • HTTP Requests
  • Edge Functions
  • Edge Functions Console
  • Image Processor
  • Tiered Cache
  • Edge DNS
  • Data Stream
  • Activity History

Cada data source tem um conjunto específico de variáveis disponíveis, representando as informações específicas que você pode receber em sua consulta. Veja os pré-requisitos e as variáveis de cada data source e suas descrições a seguir.

HTTP Requests

Requer:

Exibe os registros de eventos de requisições feitas para suas edge applications e instâncias de Edge Fireall.

VariávelDescrição
Bytes SentNúmero de bytes enviados para um cliente. Este campo é o resultado de uma soma. Exemplo: 191
Debug LogValor de qualquer variável da requisição definida por meio de um novo comportamento do Rules Engine. Exemplo: {\\\"idHash\\\":\\\"pQ04xXYD4JSYyOERu3mcwA==\\\",\\\"type\\\":\\\"product_screen_element_element_action\\\",\\\"message\\\":{\\\"event\\\":\\\"product_screen_element_element_action\\\",\\\"action\\\":\\\"value\\\",\\\"product\\\":\\\"value\\\",\\\"screen\\\":\\\"value\\\",\\\"element\\\":\\\"value\\\"},\\\"date\\\":\\\"2023-10-27T19:44:57.251Z\\\"}"
Geoloc ASNAutonomous System Number (ASN) consultado na tabela MaxMind. Exemplo: AS52580 Azion Technologies Ltda.
Geoloc Country NamePaís do cliente remoto detectado pela geolocalização de endereço IP. Exemplo: United States, Russian Federation
Geoloc Region NameRegião do cliente remoto detectada pela geolocalização de endereço IP. Exemplo: California, Rio Grande do Sul
HostInformação de host enviada na linha da requisição. Armazena: o nome do host da linha da requisição, ou o nome do host do campo Host no cabeçalho, ou o nome do servidor correspondente à requisição. Exemplo: g1sdetynmxe0ao.map.azionedge.net
HTTP RefererEndereço da página da qual o usuário fez a requisição. Exemplo: https://example.com
HTTP User AgentIdentificação da aplicação, do sistema operacional, do fornecedor e/ou da versão do usuário final. Valor do cabeçalho User-Agent. Exemplo: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Proxy StatusCódigo de status de erro HTTP ou da origem quando nenhuma resposta é obtida da origem. Exemplo: 520. Em caso de cache, a resposta é -.
Request LengthTamanho da requisição, incluindo a linha da requisição, cabeçalhos e corpo. Este campo é o resultado de uma soma. Exemplo: 167
Request MethodMétodo HTTP da requisição. Exemplo: GET ou POST
Request TimeTempo de processamento da requisição, em segundos, desde que os primeiros bytes foram lidos a partir do cliente. Este campo é resultado de uma soma. Exemplo: 0.234
Request URIURI da requisição realizada pelo usuário, sem a informação do host e de protocolo e com argumentos. Exemplo: /v1?v=bo%20dim
Remote AddressEndereço IP da origem que gerou a requisição. Exemplo: 127.0.0.1
Remote PortPorta remota da origem que gerou a requisição. Exemplo: 8080
SchemeEsquema da requisição. Exemplo: HTTP ou HTTPS
Server ProtocolVersão do protocolo da requisição. Exemplo: HTTP/1.1, HTTP/2.0, HTTP/3.0
Sent HTTP Content TypeCabeçalho “Content-Type enviado na resposta da origem. Exemplo: text/html; charset=UTF-8
SSL CipherString da cipher utilizada para estabelecimento de conexão TLS. Exemplo: TLS_AES_256_GCM_SHA384
SSL ProtocolProtocolo de uma conexão TLS estabelecida. Exemplo: TLS v1.2
Stack TraceInforma os nomes das Rules Engine da edge application ou do edge firewall executadas pela requisição. Exemplo: {\\\"edge_firewall\\\":[\\\"Global - Definir WAF\\\"]}
StatusCódigo de status HTTP da requisição. Exemplo: 200
Upstream AddrEndereço IP e porta do cliente. Também pode armazenar múltiplos servidores ou grupos de servidores. Exemplo: 192.168.1.1:80. Quando a resposta é 127.0.0.1:1666, o upstream é o Azion Cells Runtime.
Upstream Bytes ReceivedNúmero de bytes recebidos pelo edge da origem, se o conteúdo não estiver em cache. Exemplo: 8304
Upstream Bytes SentNúmero de bytes enviados para a origem. Exemplo: 2733
Upstream Cache StatusStatus do cache local do edge. Pode ser: MISS, BYPASS, EXPIRED, STALE, UPDATING, REVALIDATED, HIT ou -
Upstream Response TimeTempo, em segundos, para o edge receber uma resposta padrão da origem, incluindo cabeçalhos e corpo. Exemplo: 0.876. Em caso de cache, a resposta é -
Upstream StatusCódigo de status HTTP da origem. Se um servidor não puder ser selecionado, a variável mantém o código de status 502 (Bad Gateway). Exemplo: 200. Em caso de cache, a resposta é -
WAF BlockInforma se o WAF bloqueou ou não a ação. 0 quando a ação não foi bloqueada e 1 quando a ação foi bloqueada. Quando estiver em Learning Mode, ela não será bloqueada, independentemente do retorno
WAF Ev HeadersQuando os cabeçalhos de requisição enviados pelo usuário são analisados pelo módulo WAF e marcados como bloqueados com $waf_block = 1, ele contém uma string codificada em base64. Caso contrário, ele contém um caractere de traço -. Aplica-se aos modos WAF Learning ou Blocking
WAF LearningInforma se o WAF está em Learning Mode. Retorna 0 se não for e 1 se for
WAF MatchLista de infrações encontradas na requisição do usuário final. É formada por elementos chave-valor: a chave é referente ao tipo de infração detectada; o valor apresenta a string que gerou a infração. Exemplo: 0:1402:HEADERS:cookie
WAF ScoreInforma a pontuação que será incrementada em caso de match com as regras criadas para o WAF. Pode ser: SQL, XSS, TRAVERSAL ou RFI
WAF Total BlockedNúmero total de requisições bloqueadas. Exemplo: 2
WAF Total ProcessedNúmero total de requisições processadas. Exemplo: 5

A variável Stack Trace pode ser utilizada se você tiver a funcionalidade Debug Rules ativada em sua aplicação. Saiba mais em Como depurar regras criadas com o Rules Engine.


Edge Functions

Requer:

Exibe os registros de eventos de requisições feitas às suas edge functions.

VariávelDescrição
Configuration IDIdentificador único de configuração na Azion definido no arquivo de configuração do virtual host. Exemplo: 1595368520
Edge Functions Instance ID ListLista de functions instances que foram invocadas durante a requisição. Exemplo: 10728
Edge Functions Initiator Type ListLista de initiators utilizados na function, separados por;. Pode ser 1 (Edge Application) ou 2 (Edge Firewall)
Edge Functions ListLista de edge functions que foram invocadas durante a requisição, em ordem. A ordem começa da esquerda para a direita, o que significa que as funções à esquerda foram invocadas primeiro. Exemplo: 3324;43
Edge Functions Solution IDIdentificador da edge function. Exemplo: 1321
Edge Functions TimeTempo total de execução, em segundos, da function durante seu processamento. Este campo é o resultado de uma soma. Exemplo: 0.021
Function LanguageLinguagem utilizada na function. Exemplo: javascript
Virtual Host IDIdentificador disponível no Azion Console. Definido no arquivo de configuração do virtual host. Exemplo: 2410001a

Edge Functions Console

Exibe os registros de eventos de edge applications usando o Azion Runtime retornados pelo Cells Console.

VariávelDescrição
Configuration IDIdentificador único de configuração na Azion definido no arquivo de configuração do virtual host. Exemplo: 1595368520
Function IDNúmero identificador da function na Azion. Pode ser encontrado no path da URL da function no Azion Console ou via requisição de API. Exemplo: 1111
IDIdentificador da requisição. Agrega várias mensagens de uma única requisição. Exemplo: 240g95f04832f2872dd6e8ae308e8a73
LevelMensagem com o tipo de nível para a function. Pode ser: MDN,DEBUG,INFO, ERROR, LOG ou WARN
LineMensagem de log gerada pela plataforma Cells. Exemplo: em async mainFetch (ext:deno_fetch/26_fetch.js:266:12)
Line SourceCategoria de mensagem de log. Exemplo: CONSOLE, RUNTIME
Solution IDIdentificador exclusivo na Azion definido no arquivo de configuração do virtual host para a solução. Exemplo: 1441740010

Image Processor

Requer:

Exibe os registros de eventos de requisições feitas às edge applications que utilizam o Image Processor.

VariávelDescrição
Bytes SentNúmero de bytes enviados para um cliente. Este campo é o resultado de uma soma. Exemplo: 191
Configuration IDIdentificador único de configuração na Azion definido no arquivo de configuração do virtual host. Exemplo: 1595368520
HostInformação de host enviada na linha da requisição. Armazena: nome do host da linha da requisição, ou o nome do host do campo Host no cabeçalho, ou o nome do servidor correspondente à requisição. Exemplo: g1sdetynmxe0ao.map.azionedge.net
HTTP RefererEndereço da página da qual o usuário fez a requisição. Exemplo: https://example.com
HTTP User AgentIdentificação da aplicação, do sistema operacional, do fornecedor e/ou da versão do usuário final. Valor do cabeçalho User-Agent. Exemplo: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Reference ErrorIdentificador da referência da requisição. Gerado quando o código de status é 4xx ou 5xx. Exemplo: #AECFE66100000000C947B9B3B3BFBE46FFFFFFFF9401
Remote AddrEndereço IP da origem que gerou a requisição. Exemplo: 127.0.0.1
Remote PortPorta remota da origem que gerou a requisição. Exemplo: 8080
Request MethodMétodo HTTP da requisição. Exemplo: GET ou POST
Request TimeTempo de processamento da requisição, em segundos, desde que os primeiros bytes foram lidos a partir do cliente. Este campo é resultado de uma soma. Exemplo: 0.234
Request URIURI da requisição realizada pelo usuário, sem a informação do host e de protocolo e com argumentos. Exemplo:/v1?v=bo%20dim
SchemeEsquema da requisição. Exemplo: HTTP ou HTTPS
SolutionIdentificação da edge application. Exemplo: 1321
SourceServidor que gerou a linha do log. Exemplo: edg-fln-ggn001p
SSL CipherString da cipher utilizada para estabelecimento de conexão TLS. Exemplo: TLS_AES_256_GCM_SHA384
SSL ProtocolProtocolo de uma conexão TLS estabelecida. Exemplo: TLS v1.2
SSL Session ReusedRetorna r se uma sessão SSL foi reutilizada ou. se não foi
StatusCódigo de status HTTP da requisição. Exemplo: 200
TCP Info RTTTempo de ida e volta (RTT), em microsegundos, medido pelo edge para o usuário. Disponível em sistemas que suportam a opção de socket TCP_INFO. Exemplo: `72052
Upstream Cache StatusStatus do cache local do edge. Pode ser: MISS, BYPASS, EXPIRED, STALE, UPDATING, REVALIDATED, HIT ou -
Upstream Response TimeTempo, em segundos, para o edge receber uma resposta padrão da origem, incluindo cabeçalhos e corpo. Este campo é o resultado de uma soma. Exemplo: 0.876. Em caso de cache, a resposta é -
Upstream StatusCódigo de status HTTP da origem. Se um servidor não puder ser selecionado, a variável mantém o código de status 502 (Bad Gateway). Exemplo: 200 Em caso de cache, a resposta é -.

Tiered Cache

Requer:

Exibe os registros de eventos de requisições feitas às edge applications que utilizam o Tiered Cache.

VariávelDescrição
Bytes SentNúmero de bytes enviados para um cliente. Este campo é o resultado de uma soma. Exemplo: 191
Cache KeyA chave de identificação de cache de objeto armazenado para o conteúdo solicitado por um cliente. Exemplo:/index.html
Cache TTLTempo, em segundos, que o objeto em cache é considerado válido (não expirado). Após a expiração do tempo, quando ocorre uma nova requisição, o Tiered Cache consulta os dados sobre a origem (upstream). Exemplo: 31536000
Configuration IDIdentificador único de configuração na Azion definido no arquivo de configuração do virtual host. Exemplo: 1595368520
HostInformação de host enviada na linha da requisição. Armazena: o nome do host da linha da requisição, ou o nome do host do campo Host do campo host do cabeçalho, ou o nome do servidor correspondente à requisição. Exemplo: g1sdetynmxe0ao.map.azionedge.net
Proxy HostHostname sendo proxeado. Exemplo: storage.googleapis.com:443
Proxy StatusCódigo de status de erro HTTP ou da origem quando nenhuma resposta é obtida da origem. Exemplo: 520. Em caso de cache, a resposta é -.
Proxy UpstreamEndereço do upstream (origem). Em alguns casos, a origem do L2 é o Image Processor (IMS) para processar a imagem e então fazer o cache. Exemplo: ims_http
Reference ErrorIdentificador da referência da requisição. Gerado quando o código de status é 4xx ou 5xx. Exemplo: #AECFE66100000000C947B9B3B3BFBE46FFFFFFFF9401
Remote AddrEndereço IP da origem que gerou a requisição. Exemplo: 127.0.0.1
Remote PortPorta remota da origem que gerou a requisição. Exemplo: 8080
Request LengthTamanho da requisição, incluindo a linha da requisição, cabeçalhos e corpo. Este campo é o resultado de uma soma. Exemplo: 167
Request MethodMétodo HTTP da requisição. Exemplo: GET ou POST
Request TimeTempo de processamento da requisição, em segundos, desde que os primeiros bytes foram lidos a partir do cliente. Este campo é resultado de uma soma. Exemplo: 0.234
Request URIURI da requisição realizada pelo usuário, sem a informação do host e de protocolo e com argumentos. Exemplo: /v1?v=bo%20dim
SchemeEsquema da requisição. Exemplo: HTTP ou HTTPS
Server ProtocolProtocolo da requisição. Exemplo: HTTP/1.1, HTTP/2.0, HTTP/3.0
SolutionIdentificação da edge application. Exemplo: 1321
StatusCódigo de status HTTP da requisição. Exemplo: 200
TCP Info RTTTempo de ida e volta (RTT), em microsegundos, medido pelo edge para o usuário. Disponível em sistemas que suportam a opção de socket TCP_INFO. Exemplo: `72052
Upstream AddrEndereço IP e porta do cliente. Também pode armazenar múltiplos servidores ou grupos de servidores. Exemplo: 192.168.1.1:80. Quando a resposta é 127.0.0.1:1666, o upstream é o Azion Cells Runtime
Upstream Bytes ReceivedNúmero de bytes recebidos pelo edge da origem, se o conteúdo não estiver em cache. Exemplo: 8304
Upstream Cache StatusStatus do cache local do edge. Pode ser: MISS, BYPASS, EXPIRED, STALE, UPDATING, REVALIDATED, HIT ou -
Upstream Connect TimeTempo que leva para o edge estabelecer uma conexão com a origem, em segundos. No caso de TLS, inclui o tempo gasto no handshake. Exemplo: 0.123. Retorna 0 para KeepAlive e - para cache
Upstream Header TimeTempo para que o edge receba os cabeçalhos de resposta da origem, em segundos. Exemplo: 0.345. No caso de cache, a resposta é -
Upstream Response TimeTempo, em segundos, para o edge receber uma resposta padrão da origem, incluindo cabeçalhos e corpo. Exemplo: 0.876. Em caso de cache, a resposta é -
Upstream StatusCódigo de status HTTP da origem. Se um servidor não puder ser selecionado, a variável mantém o código de status 502 (Bad Gateway). Exemplo: 200. Em caso de cache, a resposta é -

Edge DNS

Requer:

Exibe os registros de eventos de consultas feitas para o Edge DNS.

VariávelDescrição
LevelNível do gerador do log: ERROR, WARN, INFO, DEBUG ou TRACE
Q TypeDefinição do tipo de registro que será utilizado. Exemplo: PTR, A, AAAA, HTTPS, NS, SRV
Resolution TypeTipos de método usados para resolver hosts. Exemplo: standard
SourceServidor que gerou a linha do log. Exemplo: edg-fln-ggn001p
Status CodeCódigo de status HTTP da requisição. Exemplo: 200
Solution IDIdentificador da sua instância de Edge DNS. Exemplo: 1321
UUIDIdentificador da requisição. Exemplo: b204b8c3-e463-4c3d-af3d-025703a4

Data Stream

Requer:

Exibe os registros de eventos dos dados enviados para endpoints utilizando o Data Stream.

VariávelDescrição
Configuration IDIdentificador único de configuração na Azion definido no arquivo de configuração do virtual host. Exemplo: 1595368520
Data StreamedQuantidade total de dados transmitidos, em bytes, para o endpoint configurado. Este campo é o resultado de uma soma. Exemplo: 1270
Endpoint TypeTipo de endpoint usado no stream configurado. Pode ser: HTTP_POST, S3, ELASTICSEARCH, QRADAR, AWS_KINESIS_FIREHOSE, KAFKA, DATADOG, BIG_QUERY, SPLUNK, AZURE_MONITOR, AZURE_BLOB_STORAGE
Job NameIdentificador exclusivo da Azion para o tipo de stream criado. Exemplo: Data Stream HTTP, Data Stream WAF
SourceServidor que gerou a linha do log. Exemplo: edg-fln-ggn001p
Status CodeCódigo de status HTTP da requisição. Exemplo: 200
Streamed LinesQuantidade total de linhas transmitidas para o endpoint configurado. Valor máximo de 2000. Este campo é o resultado de uma soma. Exemplo: 837
URLURL para a qual os dados do cliente foram sent/sink. Exemplo para um endpoint HTTP POST: https://log-receiver.azion.com:9200

Activity History

Exibe os registros de eventos das atividades realizadas em uma conta no Azion Console registradas pelo Activity History. Use a API GraphQL do Real-Time Events para consultar até 2 anos de logs.

VariávelDescrição
Account IDIdentificador da conta Azion. Exemplo: 8437
Author EmailEmail do usuário do Azion Console que executou a ação. Exemplo: myemail@gmail.com
Author NameNome do usuário do Azion Console que executou a ação. Exemplo: Hannah
CommentCampo editável disponível para que usuários possam adicionar comentários ao realizarem mudanças. Exemplo: Ação realizada durante investigação
Referer HeaderCabeçalho Referer da página de onde a API foi chamada. Retorna quando a chamada da API é feita a partir de uma UI. Exemplo: Test 123
Remote PortPorta de origem que gerou a requisição. Exemplo: 80
Resource IDIdentificador único do recurso que foi criado ou modificado. Exemplo: 8190
Resource TypeIdentificador do tipo de recurso que foi criado ou modificado. Exemplo: edge_application
Request DataDados recebidos no payload da requisição gerada pelo usuário. Exemplo: {"test": 123}
TitleTítulo da atividade, composto por: nome do modelo, nome e tipo de atividade. Exemplo: Pathorigin Default Origin was changed
TypeTipo de ação executada no Azion Console: CREATED, CHANGED, DELETED, or SIGNED UP
User AgentCabeçalho User-Agent enviado na requisição. Exemplo: curl 1.2.6
User IDIdentificador único do usuário que executou a ação. Exemplo: 999
User IPEndereço IP do usuário/origem que gerou a requisição. Exemplo: 127.0.0.1

Filtro de tempo e data

O Time Filter possibilita que você refine o período para o resultado da busca de eventos. Ele é selecionado por padrão para Last 15 minutes.

Você pode filtrar por:

  • Last 15 minutes (últimos 15 minutos)
  • Last 1 hour (última hora)
  • Last 3 hours (últimas 3 horas)
  • Last 6 hours (últimas 6 horas)
  • Last 12 hours (últimas 12 horas)
  • Last day (último dia)
  • Last 2 days (últimos 2 dias)
  • Last 3 days (últimos 3 dias)
  • Las 5 days (últimos 5 dias)
  • Last 7 days (últimos 7 dias)
  • Custom time range (personalizado)

Ao usar o campo Custom time range, você pode personalizar sua busca selecionando um intervalo de data e hora durante as últimas 168 horas.

Você pode alterar o intervalo de tempo quantas vezes quiser para investigar seus logs.


Exibição de dados

Depois de concluir os filtros e buscar resultados, seus registros aparecerão em uma tabela. Você pode selecionar um item para abrir a visão de More details, mais detalhes, que contém todas as variáveis daquele data source.

Cada linha representa um log diferente, o que equivale a uma ação diferente realizada pelo edge. As informações apresentadas variam de acordo com as especificidades de cada variável.


Limites

Estes são os limites default:

EscopoLimite
Retenção de logs7 dias
Disponível emAté 3 minutos
API GraphQL dados transferidos10.000 linhas
API GraphQL máximo de campos10 campos
API GraphQL payload máximo5 GB
API GraphQL consultas120 requisições por minuto


Contribuidores