Existe um diagnóstico passo a passo para quando um site Discourse é encontrado em um 502 Bad Gateway?

Eu vim aqui esperando encontrar um diagnóstico passo a passo para quando um site Discourse apresentar a condição 502 Bad Gateway. Parece que as únicas opções são do tipo:\n\n1) A atualização do Discourse pode ter falhado, use ./launcher rebuild app.\n2) Atualize e reinicie o servidor.\n\nEssas são o tipo de respostas que recebemos de um técnico de suporte de nível 1, ou de um bot de e-mail.\n\nO que mais podemos fazer para examinar os logs e ver exatamente por que o ambiente morreu? Com essas informações, podemos aprender como prevenir o problema no futuro.\n\nPor exemplo, seria apropriado criar um script com um processo cron para fazer um ping ocasional no Discourse e, se a resposta for um código de retorno 502 ou similar, reconstruir automaticamente?\n\nA reconstrução parece ser uma maneira bastante brutal de resolver um problema. Não é um diagnóstico.\n\nEstou realmente esperando que alguém possa nos indicar um documento popular de "Diagnóstico de Problemas do Discourse" que pessoas como eu possam ter perdido. :slight_smile: \n\nObrigado!

Pela leitura de muitos posts aqui, tipicamente os administradores do fórum não são a causa de 502s, e é um erro de plugin/core. Portanto, não haveria muito que você pudesse fazer para evitar esses problemas.

Os logs do console sempre ajudam, eles podem identificar o plugin problemático muitas vezes.

3 curtidas

Consigo abrir o console neste VPS, mas a janela de texto é limitada.
Existem logs específicos que podem ser verificados no contêiner ou no sistema operacional?
Já existe alguma forma de processo de ping no sistema operacional host ou no contêiner que detecta quando os processos estão inativos?
Um simples reinício do servidor dentro do contêiner seria uma boa abordagem em vez de uma reconstrução completa?

Aliás, estou executando a versão beta/dev mais recente, então é totalmente possível que uma atualização recente tenha derrubado o servidor, como já vimos no passado. No momento, não me lembro se há algum plugin não padrão instalado.

Tenho a liberdade de ajudar no diagnóstico disso sem que nossa comunidade fique chateada, embora dentro de alguns meses precisaremos migrar para versões mais estáveis apenas para manter nossos usuários confortáveis. Portanto, se isso for algo na compilação, ficarei feliz em ajudar a encontrá-lo.

Obrigado!

Eu quis dizer os logs do navegador, das ferramentas de desenvolvedor ou o equivalente no seu navegador.

Eu não acredito, mas você sempre pode tentar.

O disco está cheio?

Isso acontece com frequência?

Verifique /var/discourse/logs/rails/production.log

4 curtidas

Desculpe por demorar tanto para voltar aqui…

Disco está <50% em uso.
RAM tende a permanecer na faixa de 80-90%, Swap <40%. Acho que é aqui que o problema é causado.
Os logs estão em /var/discourse/shared/standalone/log/rails.
production.log e arquivos relacionados compactados têm muitos detalhes de transação. O que posso procurar?
Não há nenhuma entrada em production_error.log.
“Frequentemente”? Não. Mas com frequência suficiente para ser um pouco irritante e me levar a postar aqui. :slight_smile:
Eu revisei o syslog e não vi nada - não tenho certeza se haveria algo lá se o problema estivesse restrito ao contêiner, como deveria ser.

Sou um noob em Docker, então sinto muito por não ter informações do contêiner, mas ficarei feliz em investigar conforme instruído.

Obrigado!

Isso não vai ajudar. O problema está no back end. Ele nem sequer chega a obter uma resposta do servidor (daí “bad gateway”)

São os logs do rails do back end que você precisa verificar.

Tente as ações:

  • /var/discourse/shared/standalone/log/rails# tail -n 200 production.log para ver se há erros óbvios de inicialização

  • no container (primeiro ./launcher enter app):

    curl 0.0.0.0:3000 para ver se o servidor rails está respondendo.

Fora isso, remova todos os plugins, reconstrua e depois adicione-os iterativamente de volta.

1 curtida

O 502 ocorre quando o Rails não retorna uma resposta, geralmente quando o sistema está inicializando ou algo está mal configurado.

Você pode verificar os logs do nginx.

Acho que quase todos os tópicos aqui sobre erros 502 ocorrem quando o Discourse foi atualizado e não voltou à vida. A atualização falhou, ou o administrador não esperou o tempo suficiente para o serviço iniciar.

Você está dizendo que tem um Discourse funcionando, não toma nenhuma ação administrativa, mas ele começa a retornar 502 espontaneamente?

E quando isso acontece, ele sempre retorna 502 até ser reiniciado ou funciona intermitentemente de novo?