Influxdb wird seit meinem letzten Neustart ständig neu gestartet

Influxdb wird seit meinem letzten Neustart ständig neu gestartet

Seit meinem letzten Neustart sehe ich alle 1–2 Minuten Folgendes:

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

am 29/07/2021 wurde der Zustrom aktualisiert von1.8.6-1Zu1.8.7-1. Das Betriebssystem ist ein Ubuntu 20.04-Server. Beim ersten Neustart danach begannen die Probleme.
Zunächst gab es ein Berechtigungsproblem mit /usr/lib/influxdb/scripts/influxd-systemd-start.sh, das den Start verhinderte. Ich habe die Berechtigungen auf 0755 geändert und es startete, startet aber immer wieder neu. Es scheint, dass es zwischen den Neustarts Verbindungen und Daten akzeptiert, da Telegraf immer noch die Datenbank füllt und Grafana die Statistiken anzeigen kann, solange dies nicht mit dem Neustart zusammenfällt.

Ich sehe auch die Nachricht

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

Es lauscht auf diesen Ports

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))

Soweit ich weiß, wurden keine Konfigurationsänderungen vorgenommen. Es sind keine Firewall-Regeln aktiv.

Hat irgendjemand eine Idee, warum es angefangen hat, sich schlecht zu benehmen?

Antwort1

Es sieht so aus, als /usr/lib/influxdb/scripts/influxd-systemd-start.shwürde ein Gesundheitscheck durchgeführt:

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

das schlägt fehl. Dem Dateidatum nach wurde der Start-Wrapper erst am 21. Juli erstellt, daher sieht es so aus, als wäre die Startprüfung neu.

Wenn ich es manuell versuche, erhalte ich:

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 

Es schlägt aus mehreren Gründen fehl.

  1. Da ich TLS konfiguriert habe, muss es https sein
  2. Da ich den Bind-Port nicht explizit definiert habe und den Standard verwende, erhält das Skript den falschen Port.
  3. Da TLS aktiviert ist, wird der FQDN und nicht der lokale Host benötigt, da sonst die Zertifikatsvalidierungsprüfung fehlschlägt.
  4. die Perms waren auch im Standard-Startskript falsch

Um das Problem zu beheben, habe ich die /lib/systemd/system/influxdb.serviceDatei bearbeitet und

  1. Ändern Sie Type=forking in Type=simple
  2. ändern Sie ExecStart in: ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf --pidfile /var/lib/influxdb/influxd.pid $INFLUXD_OPTS

Antwort2

Dies ist ein Fehler, der in Influxdb v1.8.7 eingeführt wurde.Github-Problem.

Es gibt verschiedene Möglichkeiten, dies zu beheben.Ihre Lösungist eine der Möglichkeiten. In unserem Fall dauerte der Start von Influx etwas länger als das 10-Sekunden-Fenster, das das Startskript zulässt, also habe ich einfach die Zeile sleep 1in der Datei geändert /usr/lib/influxdb/scripts/influxd-systemd-start.sh, um sleep 2Influx mehr Zeit zum Starten zu geben.

verwandte Informationen