Basic troubleshooting on Azion Web Platform
Use este guia para identificar comportamentos inesperados em aplicações na Azion Web Platform. Aprenda como habilitar Debug Rules, usar Real-Time Events e consultar dados com GraphQL para entender por que ações específicas foram aplicadas às suas requisições. Este guia inclui um exemplo prático que mostra como identificar quais regras foram executadas e por que uma requisição foi bloqueada.
Habilitando Debug Rules
Debug Rules podem ser habilitadas tanto em Applications quanto em Firewall. Elas mostram quais regras foram executadas para uma requisição e as ações que essas regras tomaram (bloquear é apenas um exemplo), ajudando você a entender por que uma ação específica foi aplicada.
Para habilitar Debug Rules para Applications:
- Acesse o Console.
- Vá para o Products menu > Applications.
- Selecione uma aplicação existente para ativar o debug.
- Na aba Main Settings, habilite a opção Debug Rules.
- Clique no botão Save.
Para habilitar Debug Rules para Firewalls:
- Acesse o Console.
- Vá para o Products menu > Firewalls.
- Selecione o firewall que você deseja configurar.
- Na aba Main Settings, habilite a opção Debug Rules.
- Clique no botão Save.
Real-Time Events
Para acessar o Real-Time Events, siga estes passos:
- Acesse o Console.
- No canto superior esquerdo, selecione Products menu > Real-Time Events.
- Selecione a aba HTTP Requests.
- Modifique o intervalo de tempo desejado e os filtros.
- Clique no botão Search.
GraphQL
Para acessar o playground Azion GraphQL, acessível através do menu Real Time Events, ou visitando este link.
Por padrão, todas as requisições são registradas usando o fuso horário UTC.
Um exemplo prático
Para este exemplo, usaremos uma aplicação de amostra na qual, ao acessar a URI /block, a requisição será bloqueada com um status 403.
Portanto, se você tentasse acessar o site, receberia uma página de erro 403 parecida com esta:

Como você pode descobrir exatamente por que essa requisição foi bloqueada?
Para os passos abaixo, copie o Request ID exibido na página.
No Real-Time Events
- Acesse o Real-Time Events
- Filtre pelo request id que você copiou.
- Selecione o corpo do log.
- Procure pelo campo stacktrace.
Você verá uma resposta semelhante a esta:
{ "edge_application_request": [ "Default Rule", "block" ]}O campo stacktrace informa que a regra de Application chamada block foi executada.
No GraphQL Playground
1.Acesse o GraphQL Playground.
2.Execute a query abaixo, substituindo os campos tsRange e requestIdEq pelos valores corretos.
query ( $tsRange_begin: DateTime! $tsRange_end: DateTime!) { httpEvents ( limit: 10 orderBy: [ts_DESC] filter: { tsRange: { begin: $tsRange_begin, end: $tsRange_end } #hostEq: #statusEq: #requestIdEq:"" } ) { ts requestId #configurationId host #requestMethod status upstreamStatus #upstreamResponseTime #upstreamBytesSent #sslProtocol #wafLearning #requestTime #serverProtocol upstreamCacheStatus #httpReferer remoteAddress stacktrace wafMatch #serverPort #sslCipher wafEvheaders #serverAddr #scheme httpUserAgent
}}Você receberá uma resposta semelhante a esta:
{ "data": { "httpEvents": [ { "configurationId": "xxx", "host": "xxxxx.azionedge.net", "requestId": "your_request_id_here", "httpUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15", "requestMethod": "GET", "status": 403, "ts": "2026-01-22T21:10:38Z", "stacktrace": "{\\\"edge_application_request\\\":[\\\"Default Rule\\\",\\\"block\\\"]}", "upstreamBytesSent": 0, "sslProtocol": "TLSv1.3", "wafLearning": "-", "requestTime": "0", "serverProtocol": "HTTP/2.0", "upstreamCacheStatus": "-", "httpReferer": "-", "remoteAddress": "xxxx", "wafMatch": "-", "serverPort": "443", "sslCipher": "TLS_AES_256_GCM_SHA384", "wafEvheaders": "-", "serverAddr": "179.191.174.11", "scheme": "https" } ] }}O campo stacktrace informa que a regra de Application chamada block foi executada.