Painel Web de Monitoramento Console Light#

O Angie oferece uma ampla gama de possibilidades para monitorar seu funcionamento; além da API de métricas e do módulo Prometheus, você pode usar um console visual que é instalado junto ao servidor.

Console Light#

O Console Light é uma interface leve de monitoramento de atividade em tempo real que exibe métricas-chave de carga e desempenho do servidor. O console é baseado nas capacidades da API do Angie; os dados de monitoramento de atividade são gerados em tempo real. Além disso, o console permite modificar dinamicamente a configuração do Angie onde a própria API fornece essa capacidade.

Exemplo de um console implantado e configurado: https://console.angie.software/

Histórico de Versões#

Versão

Data de Lançamento

Alterações

1.8.0

03.07.2025

Exibição de métricas de tempo de resposta para servidores HTTP e TCP/UDP proxificados

1.7.2

07.04.2025

Adicionada opção "busy" no controlador de filtro nas páginas "HTTP/TCP/UDP Upstreams".

1.7.1

04.04.2025

Corrigidos valores incorretos nas tabelas "HTTP/Location Zones" na página "HTTP Zones".

1.7.0

02.04.2025

  • Exibição de volumes exatos de dados em bytes ao passar o mouse

  • Novo status busy para peers upstream na API de estatísticas, indicando que um peer atingiu o limite configurado pelo parâmetro max_conns

  • Corrigidos links da documentação

1.6.1

27.01.2025

  • Corrigidos erros de digitação

  • Corrigido problema de build do projeto em tempo de desenvolvimento

1.6.0

23.01.2025

  • Suporte à internacionalização com locales disponíveis: en, ru.

  • Recurso de cabeçalho fixo adicionado ao componente de tabela.

  • Suporte para unidades de medida de dados em pebibytes (PiB).

  • Corrigido contador de valor incorreto no widget HTTP Upstreams na página principal.

  • Valores padrão agora são usados corretamente na página HTTP Upstreams no contexto de resposta.

1.5.0

Não lançado publicamente.

1.4.0

08.08.2024

Adicionada exibição do status de monitoramento no favicon do site.

1.3.0

28.04.2024

Adicionada a capacidade de definir um servidor para o estado draining no contexto upstream.

1.2.1

26.12.2023

Adicionadas verificações de saúde ativas no contexto Stream.

1.2.0

25.12.2023

Adicionada edição de servidor no contexto Stream.

Instalação e Configuração#

O Console Light é publicado como pacotes angie-console-light (Angie) e angie-pro-console-light (Angie PRO) em nossos repositórios e pode ser instalado como qualquer outro pacote; alternativamente, você pode baixar o código-fonte do nosso site ou GitHub.

Após a instalação, configure o console adicionando a seguinte location dentro de um bloco server na configuração do servidor (observe os comentários):

location /console/ {

    # Acesso apenas local
    allow 127.0.0.1;
    deny all;

    auto_redirect on;

    alias /usr/share/angie-console-light/html/;
    # Apenas FreeBSD:
    # alias /usr/local/www/angie-console-light/html/;
    index index.html;

    location /console/api/ {
        api /status/;
    }

    # Para que os recursos de edição funcionem após autenticação (apenas PRO)
    location /console/api/config/ {

        auth_basic           "Site protegido";
        auth_basic_user_file conf/htpasswd;

        api /config/;
    }
}

Não se esqueça de aplicar a configuração modificada:

$ sudo angie -t && sudo service angie reload

Após isso, o console estará disponível no servidor especificado pelo bloco server, no caminho especificado para a location; no exemplo acima, o caminho é definido como /console/.

A autenticação pode ser habilitada para qualquer seção da API similar ao exemplo acima, por exemplo:

location /console/server_zones/ {
    auth_basic           "Site protegido";
    auth_basic_user_file conf/htpasswd;
}

Você também pode restringir o acesso a qualquer seção da location do console configurada, por exemplo:

location /console/api/resolvers/ {
    deny all;
}

Interface#

O console é uma tela única com um conjunto de abas, cada uma contendo vários widgets com dados de monitoramento.

Dica

Nas seções abaixo, os elementos da interface são descritos da esquerda para a direita.

Aba Angie#

Console Light - tela principal


Esta é a aba principal onde os principais indicadores de monitoramento do Angie são exibidos de forma resumida, baseados em dados de várias seções da API.

Nota

Os widgets de estatísticas são exibidos se os blocos correspondentes estiverem configurados na configuração do Angie.

Widget About#

Exibe o número da versão do Angie com um link para a documentação correspondente, bem como o endereço do servidor e o horário do último recarregamento de configuração.

Adicionalmente, se a diretiva api_config_files estiver habilitada, o link Configs abre uma lista de arquivos de configuração carregados no servidor. Cada arquivo pode então ser visualizado em formato compacto com destaque de sintaxe.

Widget Connections#

Exibe estatísticas básicas de conexão do servidor, geradas a partir da seção da API /status/connections/:

Current

Número atual de conexões

Accepted/s

Número de conexões aceitas por segundo

Active

Número de conexões ativas

Idle

Número de conexões ociosas

Dropped

Número de conexões descartadas

Também disponível:

Accepted

Número total de conexões aceitas desde o último recarregamento do servidor

Widget HTTP Zones#

Aviso

Requer definir a diretiva status_zone em um contexto server ou location.

Exibe estatísticas de zona de memória compartilhada para o contexto http, geradas a partir da seção da API /status/http/server_zones/:

Total

Número total de zonas

Problems

Número de zonas com quaisquer problemas

Traffic

Volume total de tráfego de entrada e saída

Widget HTTP Upstreams#

Aviso

Requer definir a diretiva zone em um bloco upstream no contexto http.

Exibe estatísticas de upstream para o contexto http, geradas a partir da seção da API /status/http/upstreams/:

Total

Número total de upstreams

Problemas

Número de upstreams com quaisquer problemas

Servidores

Estatísticas de servidor divididas por estado

Widget Zonas TCP/UDP#

Aviso

Requer definir as seguintes diretivas:

Exemplo:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

Exibe estatísticas de zona de memória compartilhada para o contexto stream, geradas a partir da seção da API /status/stream/server_zones/:

Conn total

Número total de conexões de cliente

Conn atual

Número atual de conexões de cliente

Conn/s

Número de conexões processadas por segundo

Widget Upstreams TCP/UDP#

Aviso

Requer definir a diretiva zone em um bloco upstream no contexto stream.

Exibe estatísticas de upstream para o contexto stream, geradas a partir da seção da API /status/stream/upstreams/:

Total

Número total de upstreams

Problemas

Número de upstreams com quaisquer problemas

Servidores

Estatísticas de servidor divididas por estado

Aba Zonas HTTP#

Aviso

Requer definir a diretiva status_zone em um contexto server ou location.

Seção Zonas de Servidor#

Console Light — Seção "Zonas de Servidor" na aba "Zonas HTTP"


Resume as estatísticas de monitoramento de zona de memória compartilhada para o contexto server em http, geradas a partir da seção da API /status/http/server_zones/. Os seguintes dados são apresentados para cada zona:

Zona

Nome da zona

Dica

Clique na seta ao lado de Zona para ordenar as zonas alfabeticamente ou por ordem de configuração.

Requisições

Número total de requisições e o número de requisições por segundo

Respostas

Número de respostas divididas por códigos de status, bem como seu número total

Tráfego

Taxas de tráfego de saída e entrada, bem como volumes totais de tráfego de saída e entrada

SSL

Contagens agregadas de: handshakes SSL bem-sucedidos; reutilizações de sessão SSL; handshakes SSL com timeout expirado; handshakes SSL mal-sucedidos

Seção Zonas de Localização#

Console Light — Seção "Zonas de Localização" na aba "Zonas HTTP"


Resume as estatísticas de monitoramento de zona de memória compartilhada para o contexto location em http, geradas a partir da seção da API /status/http/location_zones/. Os seguintes dados são apresentados para cada zona:

Zona

Nome da zona

Dica

Clique na seta ao lado de Zona para ordenar as zonas alfabeticamente ou por ordem de configuração.

Requisições

Número total de requisições e o número de requisições por segundo

Respostas

Número de respostas divididas por códigos de status, bem como seu número total

Tráfego

Taxas de tráfego de saída e entrada, bem como volumes totais de tráfego de saída e entrada

Seção Zonas de Limite de Conexão (Limit Conn)#

Console Light — Seção "Zonas de Limite de Conexão" na aba "Zonas HTTP"


Exibe estatísticas de zonas limit_conn no contexto http, geradas a partir da seção da API /status/http/limit_conns/. Os seguintes dados são apresentados para cada zona:

Zona

Nome da zona

Dica

Clique no ícone ao lado de Zona para abrir ou fechar o gráfico com os seguintes indicadores.

Aprovadas

Número total de conexões proxy

Rejeitadas

Número total de conexões rejeitadas

Esgotadas

Número total de conexões descartadas devido ao estouro do armazenamento da zona

Ignoradas

Número total de conexões aprovadas com uma chave de zero ou maior que 255 bytes

Seção Zonas de Limite de Requisição (Limit Req)#

Console Light — Seção "Zonas de Limite de Requisição" na aba "Zonas HTTP"


Exibe estatísticas de zonas limit_reqs no contexto http, geradas a partir da seção da API /status/http/limit_reqs/. Os seguintes dados são apresentados para cada zona:

Zona

Nome da zona

Dica

Clique no ícone ao lado de Zona para abrir ou fechar o gráfico com os seguintes indicadores.

Aprovadas

Número total de conexões proxy

Atrasadas

Número total de conexões atrasadas

Rejeitadas

Número total de conexões rejeitadas

Esgotadas

Número total de conexões descartadas devido ao estouro do armazenamento da zona

Ignoradas

Número total de conexões aprovadas com uma chave de zero ou maior que 255 bytes

Aba HTTP Upstreams#

Console Light — Aba "HTTP Upstreams"


Aviso

Requer definir a diretiva zone em um bloco upstream no contexto http.

Esta aba resume as estatísticas de monitoramento de upstream para o contexto http, geradas a partir da seção da API /status/http/upstreams/.

  • O botão Mostrar lista de upstreams alterna uma lista breve de upstreams com o número de upstreams e peers problemáticos.

  • O interruptor Apenas com falha alterna o modo de exibição para estatísticas de upstreams problemáticos.

  • O botão de edição alterna a interface de edição de upstream.

  • A lista suspensa no lado direito de cada tabela de upstream permite filtrar servidores em um estado específico (Ativo, Falhou, Verificando, Inativo).

Para cada upstream, além de seu nome e taxa de utilização da zona de memória compartilhada, os seguintes dados são apresentados:

Servidor

Nomes, tempos de inatividade e pesos dos servidores upstream

Dica

Clique na seta ao lado de Servidor para ordenar os servidores por seu estado ou ordem de configuração.

Requisições

Número total e taxa de processamento de requisições

Respostas

Número de respostas divididas por códigos de status

Conexões

Número de conexões ativas e seu limite máximo, se definido

Tráfego

Taxas de tráfego de saída e entrada, bem como volumes totais de tráfego de saída e entrada

Verificações de servidor

Número de tentativas mal-sucedidas de contatar o servidor e o número de vezes que o servidor foi considerado indisponível (o objeto health na API)

Monitores de saúde

Número total de verificações de servidor, número de verificações mal-sucedidas e o horário da última verificação

Tempo de resposta

Tempo desde o início da requisição até o envio do primeiro byte da resposta; tempo total desde o início da requisição até a conclusão do envio de toda a resposta (objeto health na API)

Editando upstreams#

No Angie PRO, há um botão de edição ao lado de cada upstream; quando clicado, ele exibe dois botões adicionais:

Edit selected

Editar servidores selecionados dentro de um upstream. Permite definir os seguintes parâmetros para todos de uma vez: Weight, limite máximo de conexões (Max_conns), limite máximo de falhas que marca um servidor como indisponível (Max_fails), janela de tempo para contar falhas para o limite máximo de falhas (Fail_timeout), estado (active – habilitado, down – desabilitado, ou draining – recebe apenas requisições de sessões previamente vinculadas através de sticky).

Você também pode excluir os servidores selecionados aqui.

Console Light — editando servidores na aba "HTTP Upstreams"


Add server

Adicionar um servidor ao upstream. Permite definir os seguintes parâmetros: endereço, servidor de backup ou não, Weight, limite máximo de conexões (Max_conns), limite máximo de falhas que marca um servidor como indisponível (Max_fails), janela de tempo para contagem de falhas (Fail_timeout), estado (active – habilitado, down – desabilitado, ou draining – recebe apenas requisições de sessões previamente vinculadas através de sticky).

Console Light — adicionando um servidor na aba "HTTP Upstreams"


Aba TCP/UDP Zones#

Aviso

Requer a configuração das seguintes diretivas:

Exemplo:

stream {

    # ...
    limit_conn_zone $connection zone=limit-conn-stream:10m;

    server {

        # ...
        limit_conn limit-conn-stream 1;
        status_zone foo;
    }
}

Seção TCP/UDP Zones#

Console Light — aba "TCP/UDP Zones"


Resume as estatísticas de monitoramento de zona de memória compartilhada para o contexto server em stream, geradas a partir da seção da API /status/stream/server_zones/. Os seguintes dados são apresentados para cada zona:

Zone

Nome da zona

Connections

Número atual e total de conexões, bem como o número de conexões por segundo

Sessions

Número de sessões divididas por códigos de status, bem como seu número total

Traffic

Taxas de tráfego de saída e entrada, bem como volumes totais de tráfego de saída e entrada

SSL

Contagens agregadas de: handshakes SSL bem-sucedidos; handshakes SSL mal-sucedidos; reutilizações de sessão SSL

Seção Connection Limit Zones (Limit Conn)#

Console Light — seção "Connection Limit Zones" na aba "TCP/UDP Zones"


Exibe estatísticas das zonas limit_conn no contexto stream, geradas a partir da seção da API /status/stream/limit_conns/. Os seguintes dados são apresentados para cada zona:

Zone

Nome da zona

Dica

Clique no ícone ao lado de Zone para abrir ou fechar o gráfico com os seguintes indicadores.

Passed

Número total de conexões proxificadas

Rejected

Número total de conexões rejeitadas

Exhausted

Número total de conexões descartadas devido ao estouro do armazenamento da zona

Skipped

Número total de conexões passadas com uma chave de zero ou maior que 255 bytes

Aba TCP/UDP Upstreams#

Console Light — aba "TCP/UDP Upstreams"


Aviso

Requer a configuração da diretiva zone em um bloco upstream no contexto stream.

Esta aba resume as estatísticas de monitoramento de upstream para o contexto stream, geradas a partir da seção da API /status/stream/upstreams/.

  • O botão Show upstreams list alterna a exibição de uma lista resumida de upstreams com o número de upstreams e peers problemáticos.

  • O interruptor Failed only habilita e desabilita o modo de exibição para estatísticas de upstreams problemáticos.

  • O botão de edição abre o widget de edição de upstream.

  • A lista suspensa no lado direito de cada tabela de upstream permite filtrar servidores em um estado específico (Up, Failed, Checking, Down).

Para cada upstream, os seguintes dados são apresentados:

Server

Nomes, tempos de inatividade e pesos dos servidores upstream

Dica

Clique na seta ao lado de Server para ordenar servidores por seu estado ou ordem de configuração.

Connections

Número de conexões ativas e seu limite máximo, se definido

Traffic

Taxas de tráfego de saída e entrada, bem como volumes totais de tráfego de saída e entrada

Server checks

Número de tentativas mal-sucedidas de contatar o servidor e o número de vezes que o servidor foi considerado indisponível (o objeto health na API)

Health monitors

Número total de verificações do servidor, número de verificações mal-sucedidas e o horário da última verificação

Response time

Tempo gasto estabelecendo uma conexão com o backend; tempo desde o início da requisição até receber o primeiro byte da resposta; tempo total decorrido desde o início da requisição até receber o último byte da resposta (o objeto health na API)

Editando upstreams#

No Angie PRO, há um botão de edição ao lado de cada upstream; quando clicado, ele exibe dois botões adicionais:

Edit selected

Editar servidores selecionados dentro de um upstream. Permite definir os seguintes parâmetros para todos de uma vez: Weight, limite máximo de conexões (Max_conns), limite máximo de falhas que marca um servidor como indisponível (Max_fails), janela de tempo para contar falhas para o limite máximo de falhas (Fail_timeout), estado (active - habilitado, down - desabilitado, ou draining - recebe apenas requisições de sessões previamente vinculadas através de sticky).

Você também pode excluir os servidores selecionados aqui.

Console Light - editando servidores na aba "TCP/UDP Upstreams"


Add server

Adicionar um servidor ao upstream. Permite definir os seguintes parâmetros: endereço, servidor de backup ou não, Weight, limite máximo de conexões (Max_conns), limite máximo de falhas que marca um servidor como indisponível (Max_fails), janela de tempo para contagem de falhas (Fail_timeout), estado (active - habilitado, down - desabilitado, ou draining - recebe apenas requisições de sessões previamente vinculadas através de sticky).

Console Light - adicionando um servidor na aba "TCP/UDP Upstreams"


Aba Caches#

Console Light - aba "Caches"


Aviso

Requer a configuração da diretiva proxy_cache_path no contexto http.

Esta aba resume as estatísticas de monitoramento para zonas proxy_cache no contexto http, geradas a partir da seção da API /status/http/caches/. Os seguintes dados são apresentados para cada zona:

Zone

Nome da zona

Dica

Clique no ícone ao lado de Zone para abrir ou fechar as listas de shards para todas as zonas que os possuem.

State

Estado do cache: cold (metadados sendo carregados na memória) ou hot (metadados carregados)

Memory usage

Taxa de utilização da memória

Max size

Tamanho máximo da memória

Used

Tamanho da memória utilizada

Disk usage

Taxa de utilização do disco

Traffic

Tráfego servido do cache, escrito no cache e retornado ignorando o cache

Hit ratio

Taxa de acerto do cache (proporção do tráfego servido do cache em relação ao volume total)

Se o sharding estiver habilitado para uma zona, ela é mostrada como uma lista suspensa que lista os shards individuais:

Path

Caminho do shard no disco

State

Estado do shard: cold (metadados sendo carregados na memória) ou hot (metadados carregados)

Max size

Tamanho máximo da memória

Used

Tamanho da memória utilizada

Disk usage

Taxa de utilização do disco

Aba Shared Zones#

Console Light - aba "Shared Zones"


Esta aba resume as estatísticas de monitoramento para todas as zonas de memória compartilhada em todos os contextos. Os seguintes dados são apresentados para cada zona:

Zone

Nome da zona

Dica

Clique na seta ao lado de Zone para ordenar as zonas por tamanho ou ordem de configuração.

Total memory pages

Número total de páginas de memória

Used memory pages

Número de páginas de memória utilizadas

Memory usage

Taxa de utilização da memória para a zona

Aba DNS Resolvers#

Console Light - aba "DNS Resolvers"


Aviso

Requer a configuração da diretiva resolver no contexto http.

Esta aba resume as estatísticas de consulta em zonas de memória compartilhada DNS, geradas a partir da seção da API /status/resolvers/. Os seguintes dados são apresentados para cada zona:

Zone

Nome da zona

Dica

Clique na seta ao lado de Zone para ordenar as zonas por estado ou ordem de configuração.

Requests

Número de requisições dos tipos A e AAAA, SRV, PTR

Responses

Número de respostas divididas pelos códigos correspondentes (Success, Format error, Server failure, Name error, Not implemented, Refused e outros)

Widget Settings#

Console Light - widget "Settings"


Permite configurar parâmetros gerais do console:

  • Taxa de atualização de dados. Valor padrão — 1 seg.

  • Taxa limite para status 4xx. Quando o limite é atingido, avisos "amarelos" aparecem nas seções correspondentes relacionadas às respostas do servidor. Valor padrão — 7%.

  • Janela de tempo para calcular a taxa de acerto do cache. Valor padrão — 300 seg.

  • Limite de erro para o resolver. Quando o limite é atingido, o resolver ficará "vermelho". Valor padrão — 3%.

  • Idioma da interface do console. Opções disponíveis: Inglês e Russo. Por padrão, o idioma do console é selecionado com base na localização definida no navegador.

Painel de Controle do Console#

Em todas as abas, no meio do lado esquerdo da página, há um painel deslizante com dois botões Console Light - botões de controle do console na aba "About". O botão superior pausa e retoma as atualizações de dados da API, enquanto o botão inferior permite atualizar os dados manualmente quando as atualizações estão pausadas.