Fontes de dados e variáveis
Consulte as quatro fontes de dados que um stream lê e cada variável que elas oferecem, com um valor de exemplo e os templates predefinidos que a carregam.
Uma fonte de dados é de onde vêm os logs de um stream do Data Stream. Cada stream lê uma fonte de dados, e essa escolha decide quais variáveis o template pode colocar em uma linha de log. Uma variável guarda uma informação sobre um evento e pertence a uma fonte de dados específica.
Azion Console dá a cada fonte de dados um nome diferente do seu slug na API. O Console a define no campo Data Source da seção Input, e a API em inputs[0].attributes.data_source:
| Opção no Console | Slug na API | Carrega | Requer na conta |
|---|---|---|---|
| Activity History | activity_history | As alterações feitas na conta no Azion Console | nada |
| Applications | workloads | As requisições feitas às suas aplicações | nada |
| Functions | functions_console | As requisições que suas functions tratam e as mensagens que elas registram no log | Functions |
| WAF Events | waf | As requisições que o WAF analisou | Firewall com WAF |
No Data Set de um template, uma variável é escrita com um $ no início, como $request_id. A coluna Em template predefinido de cada tabela abaixo nomeia os templates predefinidos cujo Data Set carrega a variável, ou indica nenhum. Na lista de streams, a coluna Source mostra o slug da API em vez da opção do Console.
A API lista as fontes de dados com uma requisição GET:
Cada resultado carrega o slug que você envia em um stream, o name da API e active. O name da API indica Workloads e Functions Console onde o Console mostra Applications e Functions. Um data_source fora dos quatro slugs é recusado com 10039, como listado em Configurações do stream.
Activity History
Activity History carrega o Activity History da conta: cada alteração que um usuário faz na conta no Azion Console. Esses eventos pertencem à conta, e não a um workload, por isso um stream nessa fonte de dados usa sampling, como descrito em Configurações do stream.
| Variável | Descrição | Exemplo | Em template predefinido |
|---|---|---|---|
$account_id | Identificador da conta Azion. | 8437 | Activity History Collector |
$author_email | Endereço de email do usuário do Azion Console que fez a alteração. | user@example.com | Activity History Collector |
$author_name | Nome do usuário do Azion Console que fez a alteração. | User name | Activity History Collector |
$client | Identificador único do cliente Azion. | 4529r | Activity History Collector |
$comment | Comentário que o usuário pode adicionar ao fazer a alteração. Opcional. | Changed Rule | Activity History Collector |
$created_at | Data e hora em que o recurso foi criado. Use para filtrar e ordenar pela hora de criação. | 2026-01-01T12:00:00Z | nenhum |
$parent_resource_id | Identificador único do recurso pai, quando existe um. | 1234567890 | Activity History Collector |
$parent_resource_name | Nome do recurso pai, quando existe um. | APIv4 | Activity History Collector |
$parent_resource_type | Tipo do recurso pai, quando existe um. | Application | Activity History Collector |
$referer_header | Header Referer da página que chamou a API. Presente apenas quando a chamada vem de uma interface. | https://console.azion.com/applications/edit/1234567890/rules-engine | Activity History Collector |
$remote_port | Porta de origem da requisição. | 80 | Activity History Collector |
$request_data | Payload da requisição que o usuário enviou. | {"id": 123456, "name": "Debug rule", "active": true, …} | Activity History Collector |
$resource_id | Identificador único do recurso criado ou alterado. | 123456 | Activity History Collector |
$resource_name | Nome do recurso criado ou alterado. | Debug rule | Activity History Collector |
$resource_type | Tipo do recurso criado ou alterado. | Application Response Rule | Activity History Collector |
$time | Data e hora da requisição. | 2026-01-01T12:00:00Z | Activity History Collector |
$title | Título da atividade, formado pelo nome do modelo, pelo nome do recurso e pelo tipo de ação. | Application Response Rule Debug rule was edited | Activity History Collector |
$type | Tipo de ação executada no Azion Console. | edited | Activity History Collector |
$user_agent | Header User-Agent da requisição. | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 | Activity History Collector |
$user_id | Identificador único do usuário que fez a alteração. | 1234 | Activity History Collector |
$user_ip | Endereço IP do usuário ou da origem que enviou a requisição. | 203.0.113.10 | Activity History Collector |
Applications
Applications carrega as requisições feitas às suas Applications. Seu slug na API é workloads, e um stream nessa fonte de dados coleta de todos os workloads da conta ou de uma lista de workloads, definida em Configurações do stream.
Dois templates predefinidos leem essa fonte de dados. Applications Event Collector carrega 36 variáveis. Applications + WAF Event Collector carrega 51. Ele adiciona sete variáveis do WAF e $asn, $request_id, $server_addr, $server_port, $session_id, $ssl_server_name, $ssl_session_reused, $stream, $upstream_addr e $upstream_bytes_sent. Ele deixa de fora $upstream_local_addr e $version. Para correlacionar uma linha de log com outros registros da mesma requisição, use $request_id, o identificador único da requisição, que a fonte de dados Functions também carrega.
| Variável | Descrição | Exemplo | Em template predefinido |
|---|---|---|---|
$asn | Autonomous System Number (ASN): uma rede de endereços IP que um ou mais operadores gerenciam sob uma única política de roteamento. | AS52580 | Applications + WAF Event Collector |
$bytes_sent | Número de bytes enviados ao cliente. | 191 | Applications Event Collector, Applications + WAF Event Collector |
$client | Identificador único do cliente Azion. | 4529r | Applications Event Collector, Applications + WAF Event Collector |
$configuration | Identificador único da configuração da Azion, definido no arquivo de configuração do virtual host. | 1595368520 | Applications Event Collector, Applications + WAF Event Collector |
$country | País do cliente, pela geolocalização do endereço IP. | United States | Applications Event Collector, Applications + WAF Event Collector |
$host | Host da requisição: o nome do host na linha da requisição, o nome do host no header Host da requisição ou o nome do servidor que corresponde à requisição. | nenhum | Applications Event Collector, Applications + WAF Event Collector |
$http_referrer | Valor do header Referer: o endereço da página de onde a requisição veio. | https://example.com | Applications Event Collector, Applications + WAF Event Collector |
$http_user_agent | Valor do header User-Agent: a aplicação, o sistema operacional, o fornecedor ou a versão do cliente. | Mozilla/5.0 (Windows NT 10.0; Win64; x64) | Applications Event Collector, Applications + WAF Event Collector |
$proxy_status | Código de status HTTP de erro, ou da origem, quando o upstream não retorna resposta. - quando a resposta vem do cache. | 520 | Applications Event Collector, Applications + WAF Event Collector |
$remote_addr | Endereço IP que enviou a requisição. | nenhum | Applications Event Collector, Applications + WAF Event Collector |
$remote_port | Porta remota que enviou a requisição. | nenhum | Applications Event Collector, Applications + WAF Event Collector |
$request_id | Identificador único da requisição. | 5f222ae5938482c32a822dbf15e19f0f | Applications + WAF Event Collector |
$request_length | Tamanho da requisição, contando a linha da requisição, os headers e o body. | nenhum | Applications Event Collector, Applications + WAF Event Collector |
$request_method | Método HTTP da requisição. | GET, POST | Applications Event Collector, Applications + WAF Event Collector |
$request_time | Tempo gasto no processamento da requisição, em segundos, contado a partir dos primeiros bytes lidos do cliente. | 0.234 | Applications Event Collector, Applications + WAF Event Collector |
$request_uri | URI da requisição com seus argumentos, sem o host e o protocolo. | /v1?v=bo%20dim | Applications Event Collector, Applications + WAF Event Collector |
$requestPath | URI da requisição sem a query string, o host e o protocolo. Para /jira/plans/48/scenarios/27?vid=320#plan/backlog, guarda /jira/plans/48/scenarios/27. | /jira/plans/48/scenarios/27 | Applications Event Collector, Applications + WAF Event Collector |
$requestQuery | Parâmetros da URI da requisição. | vid=320#plan/backlog | Applications Event Collector, Applications + WAF Event Collector |
$scheme | Esquema da requisição. | HTTP, HTTPS | Applications Event Collector, Applications + WAF Event Collector |
$sent_http_content_type | Header Content-Type da resposta da origem. | text/html; charset=UTF-8 | Applications Event Collector, Applications + WAF Event Collector |
$sent_http_x_original_image_size | Header X-Original-Image-Size da resposta da origem, que informa o tamanho original de uma imagem. | 987390 | Applications Event Collector, Applications + WAF Event Collector |
$server_addr | Endereço IP do servidor que recebeu a requisição. | nenhum | Applications + WAF Event Collector |
$server_port | Porta do servidor que recebeu a requisição. | 443 | Applications + WAF Event Collector |
$server_protocol | Protocolo da requisição. | HTTP/1.1, HTTP/2.0, HTTP/3.0 | Applications Event Collector, Applications + WAF Event Collector |
$session_id | Identificador da sessão. | nenhum | Applications + WAF Event Collector |
$ssl_cipher | String de cifra usada para estabelecer a conexão TLS. | TLS_AES_256_GCM_SHA384 | Applications Event Collector, Applications + WAF Event Collector |
$ssl_protocol | Protocolo da conexão TLS estabelecida. | TLS v1.2 | Applications Event Collector, Applications + WAF Event Collector |
$ssl_server_name | Nome do servidor que o cliente enviou ao se conectar. | www.example.com | Applications + WAF Event Collector |
$ssl_session_reused | Se a sessão TLS foi reutilizada: r quando foi, . caso contrário. | r, . | Applications + WAF Event Collector |
$state | Estado do cliente, pela geolocalização do endereço IP. | CA | Applications Event Collector, Applications + WAF Event Collector |
$status | Código de status HTTP da requisição. | 200 | Applications Event Collector, Applications + WAF Event Collector |
$stream | ID definido no arquivo de configuração do virtual host, com base na diretiva location. | nenhum | Applications + WAF Event Collector |
$tcpinfo_rtt | Round-trip time (RTT) até o cliente, em microssegundos, medido pela Azion. Disponível em sistemas que suportam a opção de socket TCP_INFO. | 72052 | Applications Event Collector, Applications + WAF Event Collector |
$time | Data e hora da requisição. | Oct. 31st, 2022 - 19:30:41 | Applications Event Collector, Applications + WAF Event Collector |
$traceback | Nomes das regras do Rules Engine da aplicação e do firewall que foram executadas na requisição. Requer Debug Rules na aplicação. | nenhum | nenhum |
$upstream_addr | Endereço e porta do servidor, ou dos servidores, para onde a requisição foi enviada. Pode conter vários servidores ou grupos de servidores. 127.0.0.1:1666 indica que o upstream é o Azion Runtime. | 192.168.1.1:80 | Applications + WAF Event Collector |
$upstream_bytes_received | Número de bytes recebidos da origem quando o conteúdo não está em cache. | 8304 | Applications Event Collector, Applications + WAF Event Collector |
$upstream_bytes_sent | Número de bytes enviados à origem. | 2733 | Applications + WAF Event Collector |
$upstream_cache_status | Status do cache local. | MISS, BYPASS, EXPIRED, STALE, UPDATING, REVALIDATED, HIT | Applications Event Collector, Applications + WAF Event Collector |
$upstream_connect_time | Tempo gasto na conexão com a origem, em segundos, incluindo o handshake TLS. 0 para uma conexão KeepAlive, - quando a resposta vem do cache. | 0.123 | Applications Event Collector, Applications + WAF Event Collector |
$upstream_header_time | Tempo gasto para receber o header da resposta da origem, em segundos. - quando a resposta vem do cache. | 0.345 | Applications Event Collector, Applications + WAF Event Collector |
$upstream_local_addr | Endereço IP local que a Azion usa para se conectar ao servidor de origem: o IP de saída (origem) em direção ao upstream. | 10.0.12.34 | Applications Event Collector |
$upstream_response_time | Tempo gasto para receber a resposta completa da origem, headers e body, em segundos. - quando a resposta vem do cache. | 0.876 | Applications Event Collector, Applications + WAF Event Collector |
$upstream_status | Código de status HTTP da origem. Mantém 502 (Bad Gateway) quando nenhum servidor pode ser selecionado. - quando a resposta vem do cache. | 200 | Applications Event Collector, Applications + WAF Event Collector |
$version | Versão do Azion Log. | v5 | Applications Event Collector |
$waf_attack_action | Ação que o WAF executou na requisição. | $BLOCK, $PASS, $LEARNING_BLOCK, $LEARNING_PASS | Applications Event Collector, Applications + WAF Event Collector |
$waf_attack_family | Classe da infração do WAF encontrada na requisição. | SQL, XSS, TRAVERSAL | Applications Event Collector, Applications + WAF Event Collector |
$waf_block | Se o WAF bloqueou a requisição: 1 quando bloqueou, 0 quando não bloqueou. Enquanto $waf_learning vale 1, nenhuma requisição é bloqueada, qualquer que seja este valor. | 0, 1 | Applications + WAF Event Collector |
$waf_headers | String em Base64 dos headers da requisição quando o WAF os marca como bloqueados, com $waf_block em 1. - caso contrário. Vale para qualquer modo do WAF. | - | Applications + WAF Event Collector |
$waf_learning | Flag de learning do WAF. Enquanto vale 1, o WAF não bloqueia nenhuma requisição. | 0, 1 | Applications + WAF Event Collector |
$waf_match | Infrações encontradas na requisição, como pares chave-valor: a chave é o tipo de violação, e o valor é a string que a causou. | nenhum | Applications + WAF Event Collector |
$waf_score | Pontuação somada quando a requisição corresponde às regras definidas para o WAF. | nenhum | Applications + WAF Event Collector |
$waf_total_blocked | Número total de requisições bloqueadas. | nenhum | Applications + WAF Event Collector |
$waf_total_processed | Número total de requisições processadas. | nenhum | Applications + WAF Event Collector |
Vários valores em um campo
Seis variáveis podem conter mais de um valor, um por conexão que a requisição abriu: $upstream_bytes_received, $upstream_cache_status, $upstream_connect_time, $upstream_header_time, $upstream_response_time e $upstream_status. Uma requisição abre várias conexões quando é redirecionada internamente, ou quando o Load Balancer escolhe outra origem. $upstream_addr lista os servidores da mesma forma. Dois separadores dividem os valores:
- Uma vírgula separa os servidores contatados durante o processamento da requisição, como
192.168.1.1:80, 192.168.1.2:80. - Dois-pontos marcam um redirecionamento interno de um grupo de servidores para outro, iniciado por X-Accel-Redirect ou por Error Responses, como
192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock : 192.168.10.1:80, 192.168.10.2:80.
Quando nenhum servidor pode ser selecionado, $upstream_addr mantém o nome do grupo de servidores, e $upstream_status mantém 502.
Leia os valores como transições da conexão: o último valor costuma ser o que mais importa. Com Error Responses definido para o status 502 em uma aplicação, os campos de upstream carregam dois valores, normalmente 502 : 200. A primeira tentativa de buscar o conteúdo na origem retornou 502, então a Azion requisitou a URI definida em Error Responses e entregou essa página com 200. Todos os campos de upstream mantêm os valores nas mesmas posições.
Valores servidos do cache
Quando a resposta vem do cache, $proxy_status, $upstream_connect_time, $upstream_header_time, $upstream_response_time e $upstream_status contêm -. $upstream_connect_time contém 0 para uma conexão KeepAlive, e $upstream_bytes_received conta bytes apenas quando o conteúdo não está em cache.
Regras executadas em uma requisição
Nenhum template predefinido carrega $traceback. Para recebê-la, use um template personalizado na fonte de dados Applications com $traceback no Data Set, e ative Debug Rules na aplicação.
O valor agrupa os nomes das regras pelo lugar onde foram executadas. edge_application_request contém as regras da Request Phase da aplicação, edge_application_response contém as regras da Response Phase e edge_firewall contém as regras do firewall. Uma requisição que passou por um firewall e por uma aplicação pode carregar as três chaves. Uma regra de firewall que aplica o WAF permite que as outras regras do firewall sejam executadas junto com ela, então o valor pode listar mais regras do firewall para uma requisição que o WAF bloqueou, e o bloqueio continua valendo.
Functions
Functions carrega as requisições que suas Functions tratam, com as mensagens que cada function escreve no log. Seu slug na API é functions_console, e a fonte de dados requer Functions na conta.
O template predefinido Functions Event Collector carrega as oito variáveis, mas coloca seis delas em chaves com outros nomes, como edgeFunctionID para $edge_function_id. Para cada chave, consulte Templates e payload.
| Variável | Descrição | Exemplo | Em template predefinido |
|---|---|---|---|
$client | Identificador único do cliente Azion. | 4529r | Functions Event Collector |
$edge_function_id | Identificador da function. | 1321 | Functions Event Collector |
$global_id | Identificador das configurações. | nenhum | Functions Event Collector |
$log_level | Nível do log. | ERROR, WARN, INFO, DEBUG, TRACE | Functions Event Collector |
$log_message | Mensagem passada para a função de log. Você a escreve para identificar e relatar um comportamento. | nenhum | Functions Event Collector |
$message_source | Origem da mensagem: CONSOLE para uma mensagem gerada pela Console API, RUNTIME para uma mensagem de erro. | CONSOLE, RUNTIME | Functions Event Collector |
$request_id | Identificador único da requisição. | 5f222ae5938482c32a822dbf15e19f0f | Functions Event Collector |
$time | Data e hora da requisição. | Oct. 31st, 2022 - 19:30:41 | Functions Event Collector |
WAF Events
WAF Events carrega as requisições que o WAF analisou, para que você mapeie a pontuação que cada requisição recebeu, as regras do WAF a que ela correspondeu e o motivo do bloqueio. Seu slug na API é waf, e a fonte de dados requer Firewall com WAF na conta.
O template predefinido WAF Event Collector não carrega $headers: ele envia o literal - na sua chave headers.
| Variável | Descrição | Exemplo | Em template predefinido |
|---|---|---|---|
$blocked | Se o WAF bloqueou a requisição: 1 quando bloqueou, 0 quando não bloqueou. Enquanto $waf_learning vale 1, nenhuma requisição é bloqueada, qualquer que seja este valor. | 0, 1 | WAF Event Collector |
$client | Identificador único do cliente Azion. | 4529r | WAF Event Collector |
$configuration | Identificador único da configuração da Azion, definido no arquivo de configuração do virtual host. | 1595368520 | WAF Event Collector |
$country | País do cliente, pela geolocalização do endereço IP. | United States | WAF Event Collector |
$headers | String em Base64 dos headers da requisição quando o WAF bloqueou a requisição. - caso contrário. | - | nenhum |
$host | Host da requisição: o nome do host na linha da requisição, o nome do host no header Host da requisição ou o nome do servidor que corresponde à requisição. | nenhum | WAF Event Collector |
$remote_addr | Endereço IP que enviou a requisição. | nenhum | WAF Event Collector |
$requestPath | URI da requisição sem a query string, o host e o protocolo. Para /jira/plans/48/scenarios/27?vid=320#plan/backlog, guarda /jira/plans/48/scenarios/27. | /jira/plans/48/scenarios/27 | WAF Event Collector |
$requestQuery | Parâmetros da URI da requisição. | vid=320#plan/backlog | WAF Event Collector |
$server_protocol | Protocolo da requisição. | HTTP/1.1, HTTP/2.0, HTTP/3.0 | WAF Event Collector |
$time | Data e hora da requisição. | Oct. 31st, 2022 - 19:30:41 | WAF Event Collector |
$truncated_body | Obsoleta. Contém - e nenhum valor. | - | WAF Event Collector |
$version | Versão do Azion Log. | v5 | WAF Event Collector |
$waf_args | Argumentos da requisição. | nenhum | WAF Event Collector |
$waf_attack_action | Ação que o WAF executou na requisição. | $BLOCK, $PASS, $LEARNING_BLOCK, $LEARNING_PASS | WAF Event Collector |
$waf_attack_family | Classe da infração do WAF encontrada na requisição. | SQL, XSS, TRAVERSAL | WAF Event Collector |
$waf_learning | Flag de learning do WAF. Enquanto vale 1, o WAF não bloqueia nenhuma requisição. | 0, 1 | WAF Event Collector |
$waf_match | Infrações encontradas na requisição, como pares chave-valor: a chave é o tipo de violação, e o valor é a string que a causou. | nenhum | WAF Event Collector |
$waf_score | Pontuação somada quando a requisição corresponde às regras definidas para o WAF. | nenhum | WAF Event Collector |
$waf_server | Nome do host da requisição que o WAF analisou. | api-login.azion.com.br | WAF Event Collector |
$waf_uri | URI da requisição que o WAF analisou. | /access/v2/after-login | WAF Event Collector |