nginx como obter status de servidores web no backend?

6

O HAProxy tem uma página de status muito boa, mostrando quais servidores da web estão ativos e quais estão no back-end. Estou tentando depurar alguns problemas e preciso saber quais servidores o nginx pensa que estão ativos e quais deles estão com problemas. Existe uma página da web ou algo que você pode configurar para o nginx para que eu possa acessar uma URL quando eu precisar desse tipo de informação?

obrigado Dean

    
por Dean Hiller 28.08.2012 / 22:14

4 respostas

8

Existem alguns módulos que você pode querer conferir:

  • link (exibe o status visto pelo funcionário que está exibindo a página de status)
  • link (verifica proativamente o status dos servidores upstream)
  • link (semelhante ao anterior, mas suporta apenas HTTP 1.0 para verificações de status)
  • link (balanceador de carga com a página de status interna)
  • ...
por 28.08.2012 / 22:32
3

Infelizmente, isso é quase impossível de ser instalado. O vanilla nginx não tem estado global para upstream por design, portanto, essa informação é local para cada processo de trabalho.

Dê uma olhada neste módulo parece ser útil para você link

    
por 28.08.2012 / 22:37
0

Um ano atrasado para esta resposta, mas o módulo ustats para o nginx parece bastante impressionante:

link

movido para o github link

Infelizmente, não parece mantido após o 1.2, mas ainda pode funcionar.

Encontrou um link para garfo mantido

1.7.2 patch ainda funciona contra 1.7.4 perfeitamente

    
por 28.08.2014 / 14:57
0

Eu estava procurando uma verificação de integridade simples, como o Amazon ELB fornece. Capacidade de adicionar instâncias em um LB, ter um mecanismo de verificação de integridade para remover instâncias defeituosas.

Então, aqui estavam minhas opções.

  1. link
  2. link
  3. O Nginx também fornece uma verificação de integridade passiva gratuitamente. Ele faz exatamente o que eu quero, sem monitoramento sofisticado, sem pesos, sem verificação de rota chique. Ele faria ping no servidor e verificaria 200 respostas de status. Ele faria isso de maneira round robin.

    O parâmetro fail_timeout define o tempo durante o qual o número especificado de tentativas falhas deve acontecer e ainda considera o servidor indisponível. Em outras palavras, o servidor não está disponível para o intervalo definido por fail_timeout.

    O parâmetro max_fails define o número de tentativas falhas que devem acontecer durante o tempo especificado para ainda considerar o servidor indisponível.

    Por exemplo:

    upstream search { server 192.168.215.43:9200 max_fails=3 fail_timeout=10s; server 192.168.171.66:9200 max_fails=3 fail_timeout=10s; }

por 10.01.2017 / 10:26

Tags