Instale a integração Add Request ID
Instale o Add Request ID pelo Azion Marketplace e execute-o em um firewall, para que toda requisição carregue um header com um identificador único.
Você instala a integração Add Request ID pelo Azion Marketplace e a executa em um Firewall, pelo Azion Console. A integração adiciona um header ao objeto da requisição recebida, e o header atribui um identificador único a cada requisição HTTP que a Azion atende. Use o identificador para rastrear requisições individuais, analisar logs e encontrar problemas: ele cruza os registros do Data Stream e do Real-Time Events com os logs internos da sua infraestrutura.
Cinco objetos precisam existir antes de uma requisição carregar o header: a função instalada, um firewall carregando o módulo Functions, uma instância de função, uma regra do Rules Engine com o comportamento Run Function e um deployment de workload vinculado ao firewall. Cada seção abaixo cria um deles.
Pré-requisitos
- Uma conta Azion. Para entrar, consulte Como acessar o Azion Console.
- Uma aplicação servida por um workload, cujo deployment você vincula ao firewall na última seção.
- O Azion CLI instalado e autorizado, para a última seção.
- Ligar um produto ou um módulo pode gerar custos de uso, como execuções de funções. Para mais informações, consulte Preços.
Instale a integração
A função é instalada uma vez por conta. Para instalá-la:
Acesse Azion Console > Marketplace.
Informe Add Request ID no campo Search on Marketplace e selecione o card da integração. Navegar pelos cards e pelas categorias alcança a mesma página.
O card mostra Successfully installed! e Latest version installed!, e a função aparece na lista Function do drawer Create Instance.
Crie o firewall
O firewall é onde a função é instanciada e onde vive a regra que a executa. Para criar um:
Acesse Azion Console > Firewalls e crie um firewall.
Na seção General, informe um Name. Por exemplo: request-id-firewall.
Na seção Modules, ligue o switch Functions.
O firewall mostra uma aba Functions Instances enquanto o módulo Functions permanecer ligado. Para usar um firewall existente, ligue o módulo Functions dele e salve-o. Para cada configuração deste formulário, consulte Defina as configurações principais de um firewall.
Crie a instância de função
A instância é executada sem argumentos. O seu único argumento opcional muda o nome do header que carrega o ID da requisição. Para criar a instância:
Em Firewalls, selecione o seu firewall e depois selecione a aba Functions Instances.
Um firewall que não tem instância mostra a mesma ação como Function Instance. O drawer Create Instance é aberto.
Em Name, informe um nome. Por exemplo: add-request-id.
Em Function, selecione a função Add Request ID. A lista guarda apenas as funções que são executadas em um firewall.
Em Arguments, o editor vem preenchido com os argumentos padrão da integração em JSON. Para mudar o nome do header, defina header_name, como a próxima seção descreve.
A instância aparece na aba Functions Instances.
Argumentos
| Chave do JSON Args | Nome da variável de ambiente | Tipo de dado | Valor padrão | Descrição |
|---|---|---|---|---|
header_name | AZION_REQUEST_ID_HEADER_NAME | String | x-azn-request-id | O nome do header em que a função insere o ID da requisição. Se o argumento não for uma string não vazia, a função usa o valor padrão |
Crie a regra
A instância não adiciona nenhum header até uma regra executá-la. Uma regra do Rules Engine for Firewall seleciona as requisições que alcançam a instância, por um comportamento Run Function. Para criar a regra:
Em Firewalls, selecione o seu firewall e depois selecione a aba Rules Engine.
Em Name, informe um nome. Por exemplo: Run Add Request ID.
Na seção Criteria, selecione os domínios que executam a integração. Por exemplo: if Host matches yourdomain.com.
Na seção Behaviors, selecione Run Function e depois selecione a instância pelo nome que você deu a ela.
O firewall executa a instância em toda requisição aos domínios do critério.
Vincule o firewall ao workload
O vínculo fica no deployment do workload, então crie um deployment que nomeia a aplicação e o firewall:
O comando imprime o id do novo deployment:
As requisições ao domínio do workload alcançam o firewall, e cada uma carrega o header com o ID da requisição.