Influxdb se reinicia constantemente desde mi último reinicio

Influxdb se reinicia constantemente desde mi último reinicio

Desde mi último reinicio, veo lo siguiente cada 1 o 2 minutos:

Aug 02 13:53:00 monitor systemd[1]: influxdb.service: start operation timed out. Terminating.
Aug 02 13:53:00 monitor systemd[1]: influxdb.service: Failed with result 'timeout'.
Aug 02 13:53:00 monitor systemd[1]: Failed to start InfluxDB is an open-source, distributed, time series database.
Aug 02 13:53:00 monitor systemd[1]: influxdb.service: Scheduled restart job, restart counter is at 4.
Aug 02 13:53:00 monitor systemd[1]: Stopped InfluxDB is an open-source, distributed, time series database.
Aug 02 13:53:00 monitor systemd[1]: Starting InfluxDB is an open-source, distributed, time series database...
Aug 02 13:53:00 monitor influxd-systemd-start.sh[3539]: Merging with configuration at: /etc/influxdb/influxdb.conf

el 29/07/2021 la afluencia se actualizó desde1.8.6-1a1.8.7-1. El sistema operativo es el servidor Ubuntu 20.04. El primer reinicio después de esto es cuando comenzaron los problemas.
Inicialmente hubo un problema de permisos /usr/lib/influxdb/scripts/influxd-systemd-start.shque impidió su inicio. Cambié los permisos a 0755 y comenzó, pero sigue reiniciándose. Parece que acepta conexiones y datos entre los reinicios, ya que Telegraf todavía está completando la base de datos y Grafana puede mostrar las estadísticas, siempre que no coincidan con el reinicio.

yo tambien veo el mensaje

influxd-systemd-start.sh[12171]: [tcp] 2021/08/02 14:21:40 tcp.Mux: Listener at 127.0.0.1:8088 failed failed to accept a connection, closing all listeners

Está escuchando en esos puertos.

root@monitor$ ss -ilpn | grep influx
tcp     LISTEN   0        4096                                        127.0.0.1:8088                                              0.0.0.0:*                      users:(("influxd",pid=15115,fd=3))
tcp     LISTEN   0        4096                                                *:8086                                                    *:*                      users:(("influxd",pid=15115,fd=32))

Hasta donde yo sé, no se ha modificado ninguna configuración. No hay reglas de firewall activas.

¿Alguien tiene alguna idea de por qué empezó a comportarse mal?

Respuesta1

Parece que /usr/lib/influxdb/scripts/influxd-systemd-start.shestá intentando hacer un control de salud:

 while [ "$result" != "200" ]; do
   sleep 1
   result=$(curl -s -o /dev/null http://$HOST:$PORT/health -w %{http_code})
 done

esto está fallando. A partir de la fecha del archivo, el contenedor de inicio no se creó hasta el 21 de julio, por lo que parece que la verificación de inicio es nueva.

Si lo intento manualmente obtengo:

root@monitor$ curl https://127.0.0.1:8088/health
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to 127.0.0.1:8088 

Falla por varias razones.

  1. Como he configurado TLS, debe ser https
  2. Como no he definido explícitamente el puerto de enlace y estoy usando el puerto predeterminado, el script obtiene el puerto incorrecto.
  3. debido a que TLS está habilitado, necesita el FQDN, no el host local o la verificación de validación del certificado falla.
  4. los permisos también eran incorrectos en el script de inicio predeterminado

Para resolverlo edité el /lib/systemd/system/influxdb.servicearchivo y

  1. cambie Tipo=bifurcación a Tipo=simple
  2. cambie ExecStart a: ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf --pidfile /var/lib/influxdb/influxd.pid $INFLUXD_OPTS

Respuesta2

Este es un error introducido en Influxdb v1.8.7.Problema de Github.

Hay una variedad de formas de solucionar este problema,tu soluciónsiendo una de las formas. En nuestro caso, Influx tardó un poco más en iniciarse que la ventana de 10 segundos que permite el script de inicio, así que simplemente cambié la línea sleep 1en el archivo /usr/lib/influxdb/scripts/influxd-systemd-start.shpara sleep 2darle a Influx más tiempo para iniciarse.

información relacionada