Configuração de Métricas Personalizadas#

O Angie pode coletar métricas numéricas personalizadas em memória compartilhada e expô-las através da API de estatísticas em tempo real em /status/http/metric_zones/. Isso é fornecido pelo módulo Metric.

Etapas de Configuração#

  1. Defina uma zona de métricas no bloco http:

  2. Atualize as métricas no processamento de requisições com a diretiva metric. Use um par chave=valor (ambos são valores complexos), e escolha o estágio de atualização com on= (request, response, ou end).

  3. Exponha a API com um location:

    location /status/ {
        api /status/http/metric_zones/;
    }
    

Exemplo#

Conte requisições por host e exponha as métricas na API:

http {
    metric_zone requests:128k count;

    server {
        listen 80;

        location / {
            metric requests $host=1;
        }

        location /status/ {
            api /status/http/metric_zones/;
        }
    }
}

Observações#

  • Se expire=on estiver definido na zona e a memória compartilhada estiver cheia, as entradas usadas menos recentemente são expiradas. Se expire=off, novas atualizações são descartadas e o contador discarded aumenta.

  • Se discard_key estiver definido, as métricas de entradas expiradas são agregadas sob essa chave na saída da API.

  • Chaves e valores são limitados a 255 bytes; chaves mais longas são truncadas na API.

  • Um valor vazio é tratado como 0, e um valor não vazio sem um número inicial é tratado como 1.