Monitoramento Multifacetado do Angie, um Fork do Servidor Web nginx#

27.09.2023

Uma bela demonstração ao vivo é melhor que qualquer imagem: https://console.angie.software/

Uma bela demonstração ao vivo é melhor que qualquer imagem: https://console.angie.software/

Olá, caro leitor. Meu nome é Dmitry. Sou engenheiro de sistemas na Web Server, a empresa russa por trás do servidor web Angie. Com base na minha experiência fornecendo suporte técnico—primeiro na NGINX e agora na Web Server LLC— frequentemente encontro a mesma pergunta popular: "Como organizo o monitoramento do servidor web?" Vamos explorar a resposta.

  1. Monitoramento. "Por quê? Os logs estão funcionando bem!"

  2. Servidor Web Angie. "Por quê? Quando existe ***."** Como instalar. "Há uma build para **?"

  3. API. "Estou dizendo, existem logs! Só me deixe habilitá-los em produção." O que ela fornece. "Qual a diferença dos logs?" Como configurar. "Não funciona automaticamente?" Obtendo configuração do servidor web. "Mas existe angie -T."

  4. Console Light – Interface Web. "Outro sistema de monitoramento?!1?1!!!" O que mostra. "O que significa tempo real?" Como instalar. "Realmente apenas algumas linhas de configuração?"

  5. API Prometheus. "Já estou usando! Bem, sim, analisamos logs..." Como configurar o Angie para integração. "E sem njs?" Comparação com Console Light. "Os valores realmente coincidem?"

  6. Conclusão. "Então é isso que multifacetado significa!"

---

1. Monitoramento. "Por quê? Os logs estão funcionando bem!"#

Superamos a fase de reagir a incidentes baseados em relatórios de usuários. Os sistemas de monitoramento se tornaram uma parte essencial da infraestrutura moderna, fornecendo coleta de dados, notificações e até mesmo o ocasional botão "consertar tudo".

Quando questionados por gerentes, arquitetos ou especialistas em segurança sobre como garantimos observabilidade para componentes-chave na infraestrutura de processamento de requisições, tipicamente destacamos três principais fontes de informação:

  • Métricas do sistema sobre o processo do servidor web (por exemplo, uso de CPU e RAM, tempo de atividade).

  • Dados de log oferecendo uma visão retrospectiva das requisições processadas.

  • Exportações de métricas usando extensões de terceiros, embora menos comumente.

Embora as métricas de processo do sistema sejam fundamentais e universalmente aplicadas, elas frequentemente ficam aquém. Por exemplo, baixo uso de CPU ainda pode coincidir com um erro 502 Bad Gateway, sinalizando problemas mais profundos que não são imediatamente aparentes.

Os dados de log também são diretos de acessar, mas inerentemente reativos. Eles nos permitem diagnosticar problemas apenas depois que ocorreram. Por exemplo, durante um ataque DoS, os logs revelam requisições falhadas após o fato, mas não fornecem insight sobre requisições de entrada não processadas. O monitoramento eficaz deve atuar como uma ferramenta preditiva, nos alertando sobre problemas em andamento—não apenas documentando as consequências.

Soluções de terceiros para exportações de métricas podem preencher essa lacuna, mas vêm com trade-offs:

  • Investimento de tempo em configuração e builds específicas do SO.

  • Potenciais problemas de compatibilidade entre o servidor web e módulos de terceiros após atualizações.

  • Preocupações de segurança das equipes de InfoSec, que raramente dormem tranquilas.

Os recursos de monitoramento integrados do Angie, como discutiremos, fornecem insights abrangentes em tempo real sobre cargas de servidores web e proxy, além de opções de integração perfeitas para sistemas de monitoramento existentes.

---

2. Servidor Web Angie. "Por quê? Quando existe *."#

Angie é um fork do nginx que oferece funcionalidade adicional preservando o design leve e eficiente do nginx.

Como instalar: Instalar o Angie é simples. Pacotes pré-construídos estão disponíveis para sistemas operacionais comuns, e compilar a partir do código fonte também é suportado. Instruções detalhadas de instalação podem ser encontradas na documentação oficial.

Disponibilidade de build: Angie suporta uma ampla gama de plataformas, com binários para distribuições Linux populares e outros ambientes. Se você não tem certeza sobre a compatibilidade do seu SO, consulte a seção de downloads.

---

3. API. "Estou dizendo, existem logs! Só me deixe habilitá-los em produção."#

A API do Angie permite monitoramento em tempo real de suas operações, complementando os logs tradicionais.

O que ela fornece: A API oferece métricas granulares sobre processamento de requisições, distribuição de carga e uso de recursos que vão além de entradas de log estáticas.

Qual a diferença dos logs? Os logs capturam dados históricos—o que já aconteceu. Em contraste, a API fornece insights ao vivo sobre o que está acontecendo agora, como comprimentos de fila, atrasos de processamento ou status do servidor upstream.

Como configurar: Configurar a API é simples e envolve habilitar os módulos relevantes no arquivo de configuração do Angie. Instruções passo a passo estão disponíveis no guia oficial.

Obtendo configuração do servidor web: Para usuários familiarizados com angie -T, a API estende sua funcionalidade fornecendo acesso dinâmico e sob demanda à configuração e métricas de runtime.

---

4. Console Light – Interface Web. "Outro sistema de monitoramento?!1?1!!!"#

O que mostra: Console Light fornece uma interface gráfica para as métricas em tempo real do Angie, oferecendo uma representação visual clara da performance do servidor.

O que significa tempo real? As métricas são atualizadas ao vivo, dando feedback imediato sobre o comportamento do servidor sem os atrasos inerentes aos sistemas baseados em logs.

Como instalar: Instalar o Console Light requer esforço mínimo—apenas algumas linhas de configuração. Instruções são fornecidas no guia de instalação, garantindo que você possa configurá-lo rapidamente.

---

5. API Prometheus. "Já estou usando! Bem, sim, analisamos logs..."#

Como configurar o Angie para integração: Endpoints compatíveis com Prometheus podem ser habilitados na configuração do Angie. Nenhum módulo adicional de terceiros é necessário, tornando a configuração eficiente e segura.

E sem njs? Diferentemente de algumas configurações que requerem o módulo njs do nginx para integração com Prometheus, o Angie fornece suporte nativo para exportação de métricas, eliminando dependências adicionais.

Comparação com Console Light: Tanto Prometheus quanto Console Light oferecem capacidades robustas de monitoramento, mas atendem a necessidades diferentes. O Prometheus é ideal para agregar métricas em sistemas de grande escala, enquanto o Console Light fornece uma visão focada e em tempo real da performance do Angie. Os valores reportados por ambos os sistemas coincidem, garantindo consistência.

---

6. Conclusão. "Então é isso que multifacetado significa!"#

As capacidades de monitoramento multifacetado do Angie atendem às necessidades da infraestrutura moderna combinando métricas do sistema, APIs em tempo real e interfaces visuais. Seja você preferindo logs, APIs ou dashboards gráficos, o Angie tem ferramentas para fornecer uma experiência de monitoramento abrangente e preditiva.

Ao aproveitar esses recursos, você pode garantir que seu servidor web opere eficientemente, detectar problemas antes que escalem e integrar perfeitamente com suas soluções de monitoramento existentes.