Nginx upstream: tiempo agotado (110: Connection timed out)

Hola, mi sitio es https://1o24bbs.com/

Sin actualización ni operación, de la nada nginx muestra que falla al conectarse al upstream: http://127.0.0.1:3000

¿Cómo puedo solucionar esto? Agradezco la ayuda.

/shared/log/rails# tail -f unicorn.stdout.log

2021-07-08T09:01:03.403Z pid=682 tid=sim ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.412Z pid=682 tid=t4m ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.406Z pid=682 tid=tra ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

2021-07-08T09:01:03.407Z pid=682 tid=sze ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Cargando Sidekiq en el proceso con ID 648

El supervisor de autokill ha desaparecido

El supervisor de autokill ha desaparecido

El supervisor de autokill ha desaparecido

Cargando Sidekiq en el proceso con ID 780

/var/log/redis# tail -f current

553:M 08 Jul 2021 09:11:59.078 * 10000 cambios en 60 segundos. Guardando…

553:M 08 Jul 2021 09:11:59.079 * Guardado en segundo plano iniciado por el proceso 1270

1270:C 08 Jul 2021 09:12:01.584 * Base de datos guardada en disco

1270:C 08 Jul 2021 09:12:01.595 * RDB: 0 MB de memoria utilizados por copy-on-write

553:M 08 Jul 2021 09:12:01.619 * Guardado en segundo plano finalizado con éxito

553:M 08 Jul 2021 09:13:02.098 * 10000 cambios en 60 segundos. Guardando…

553:M 08 Jul 2021 09:13:02.099 * Guardado en segundo plano iniciado por el proceso 1339

1339:C 08 Jul 2021 09:13:04.052 * Base de datos guardada en disco

1339:C 08 Jul 2021 09:13:04.055 * RDB: 0 MB de memoria utilizados por copy-on-write

553:M 08 Jul 2021 09:13:04.137 * Guardado en segundo plano finalizado con éxito

Durante rebuild app, se produce el error Failed listening on port 6379.

¿Es esta una instalación estándar oficial de Discourse?

¿Tienes suficiente espacio en el disco (supongo que te habrías dado cuenta si intentaste reconstruir)?

Parece ser un problema con Redis, aunque no puedo determinar por qué a partir de lo que has compartido aquí.

Sí, el sitio web ha funcionado correctamente durante años.

Empiezo a pensar que quizás no sea un problema de Redis.
Sidekiq es más bien un trabajo en segundo plano, ¿verdad?

Eso no debería hacer que http://127.0.0.1:3000 sea inaccesible.

Más registros en nginx

2021/07/08 10:54:31 [error] 570#570: *169 el servidor upstream agotó el tiempo de espera (110: Connection timed out) al leer la cabecera de respuesta del upstream, cliente: 100.19.76.187, servidor: _, solicitud: “POST /message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/icc/25834

2021/07/08 10:54:32 [error] 570#570: *169 el servidor upstream agotó el tiempo de espera (110: Connection timed out) al conectar con el upstream, cliente: 100.19.76.187, servidor: _, solicitud: “POST /message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/icc/23914

2021/07/08 10:54:33 [error] 570#570: *169 el servidor upstream agotó el tiempo de espera (110: Connection timed out) al leer la cabecera de respuesta del upstream, cliente: 100.19.76.187, servidor: _, solicitud: “POST /message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t HTTP/2.0”, upstream: “http://127.0.0.1:3000/message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t”, host: “1o24bbs.com”, referrer: “https://1o24bbs.com/t/topic/15436

2021/07/08 10:54:36 [error] 570#570: *13261 el servidor upstream agotó el tiempo de espera (110: Connection timed out) al leer la cabecera de respuesta del upstream, cliente: 220.196.56.24, servidor: _, solicitud: “GET /?374e828961d36d46bd99dc8e13b7f640 HTTP/1.1”, upstream: “http://127.0.0.1:3000/?374e828961d36d46bd99dc8e13b7f640”, host: “1o24bbs.com”, referrer: “https://gateway.zscalertwo.net:443/auT?origurl=https%3A%2F%2F1o24bbs.com%2F%3F374e828961d36d46bd99dc8e13b7f640&wexps=1&_ordtok=SWk3WVhmhHBPJ4rLFk4nDRnkZ3&wexps=1

En production.log, veo:

Procesando CategoriesController#index como HTML
Parámetros: {“41528430213d6ae753e074e11328b67b”=nil}
Excepción del trabajo: FATAL: el sistema de base de datos se está apagando

@pfaffman ¿Cómo puedo vaciar Redis? ¡Gracias!

¿Has realizado la actualización de PostgreSQL 13?

¡Gracias!
Mi sitio web está ejecutando la última versión de Discourse. He estado ejecutando la última versión durante al menos un mes.

No actualicé PostgreSQL manualmente, pero creo que la versión de PostgreSQL es la 13.
¿Cómo puedo asegurarme de eso?

$ psql -V
psql (PostgreSQL) 13.3 (Debian 13.3-1.pgdg100+1)

Por cierto, estoy ejecutando un único contenedor app.

¿Tienes algún plugin no estándar?

Plugins que tengo:

  • docker_manager
  • discourse-adplugin

¿Crees que el problema está en Redis o en PostgreSQL?

Después de ejecutar # ./launcher enter app, al intentar curl http://127.0.0.1:3000 se produce un tiempo de espera.

1 me gusta

Salida de discourse-doctor:

==================== INFORMACIÓN DE DOCKER ====================
VERSIÓN DE DOCKER: Docker versión 19.03.13, compilación 4484c46d9d

PROCESOS DE DOCKER (docker ps -a)

ID DEL CONTENEDOR        IMAGEN                              COMANDO                  CREADO HACE          ESTADO                        PUERTOS                                      NOMBRES
70709beca56d        local_discourse/app                "/sbin/boot"             hace 15 minutos      Activo hace 15 minutos            0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app
1828993cd957        discourse/base:2.0.20210528-1735   "/bin/bash -c 'cd /p…"   hace 2 horas         Finalizado (1) hace 2 horas                                              agitated_curie

70709beca56d        local_discourse/app   "/sbin/boot"        hace 15 minutos      Activo hace 15 minutos       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

El contenedor de Discourse app está en ejecución


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin.git

No se detectaron plugins no oficiales.

Consulte la lista oficial en https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb.

========================================

Lo siento. No tengo ninguna idea. ¿Has reiniciado recientemente?

Tuve que levantar una nueva máquina virtual y usar una copia de seguridad de la base de datos para crear un nuevo contenedor, pero parece que el problema vuelve a ocurrir después de eso…

Tuve el mismo problema con un sitio web de una empresa envío de dinero en línea de divisas extranjeras; intenté reiniciar el servidor, cambiar el tiempo de espera a 1000 segundos y luego probarlo.