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.sh
que 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.sh
está 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.
- Como he configurado TLS, debe ser https
- Como no he definido explícitamente el puerto de enlace y estoy usando el puerto predeterminado, el script obtiene el puerto incorrecto.
- debido a que TLS está habilitado, necesita el FQDN, no el host local o la verificación de validación del certificado falla.
- los permisos también eran incorrectos en el script de inicio predeterminado
Para resolverlo edité el /lib/systemd/system/influxdb.service
archivo y
- cambie Tipo=bifurcación a Tipo=simple
- 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 1
en el archivo /usr/lib/influxdb/scripts/influxd-systemd-start.sh
para sleep 2
darle a Influx más tiempo para iniciarse.