Zum Inhalt springen

Web-Oberfläche von Ingest

Ingest hat eine kleine Web-Oberfläche mit Kennzahlen zum Betrieb. Sie ist unter http://<IP>:4567 erreichbar und lädt sich alle 30 Sekunden neu. Mit dem Traefik, den HELIOS für eine eigene Domain einrichtet, lautet die Adresse https://<domain>:4567.

Die Zahlen verteilen sich auf drei Tabs: Pipeline, Sensors und House power. Ein farbiger Punkt neben dem Namen eines Tabs meldet, wenn dort etwas nicht stimmt.

Der Tab Pipeline verfolgt den Weg der Messwerte, von den Kollektoren bis in die InfluxDB.

Tab Pipeline der Ingest-Web-Oberfläche

  • Incoming: Was die Kollektoren anliefern. Durchsatz in Werten und Zeilen pro Minute, Alter der letzten Zeile, dazu die Summen seit dem Start: empfangene Werte und Zeilen, Anzahl der Requests, durchschnittliche Antwortzeit und die Zeilen, die Ingest nicht lesen konnte. Eine unlesbare Zeile überspringt Ingest, der Rest des Requests wird verarbeitet.
  • Responses: Die HTTP-Statuscodes, die Ingest den Kollektoren zurückgibt. Im Normalfall steht dort nur 204 No Content.
  • Buffer: Die SQLite-Datenbank, aus der Ingest die Nachbarwerte für die Interpolation holt. Neben der Anzahl der gepufferten Werte stehen die eingestellte Aufbewahrungsdauer, die tatsächlich abgedeckte Zeitspanne, die Größe der Datei und der freie Platz auf der Platte.
  • Queue: Was auf die InfluxDB wartet. Ist sie nicht erreichbar, hält Ingest die Zeilen hier fest und schickt sie später nach. Die Zeile darunter sagt, ob die InfluxDB gerade antwortet.
  • Outgoing: Was in der InfluxDB ankommt. House power removed und House power added zählen den Tausch: Ingest nimmt den Hausverbrauch des Kollektors heraus und setzt seinen eigenen Wert ein. Deshalb verlassen Ingest mehr Werte, als eintreffen. Darunter stehen die gelieferten Werte und Zeilen, die wiederholten Schreibzugriffe sowie die Zeilen, die die InfluxDB abgelehnt hat.
  • Targets: Bucket, Organisation und (maskierter) Token je Ziel. Schreiben zwei Kollektoren mit verschiedenen Tokens in denselben Bucket, sind das zwei Zeilen.
  • Runtime und Uptime: CPU- und Speicherverbrauch, Anzahl der Threads, Laufzeit von Ingest und des Hosts.

Der Tab Sensors zeigt, welche Sensoren tatsächlich Daten liefern.

Tab Sensors der Ingest-Web-Oberfläche

Oben stehen die konfigurierten Sensoren mit ihrem Ziel in der InfluxDB und ihrer Rate. Die erste Karte listet die Sensoren der Hausverbrauchs-Formel, die zweite die per INFLUX_EXCLUDE_FROM_HOUSE_POWER ausgenommenen.

Liefert ein Sensor länger als 15 Minuten nichts, steht statt der Rate das Alter seiner letzten Zeile, farblich hervorgehoben. Das ist dieselbe Grenze, die auch die Berechnung des Hausverbrauchs zieht: Ab da fällt der Sensor aus der Formel, und es entsteht eine Lücke.

Darunter folgt unter Other incoming data alles Übrige, gruppiert nach Measurement. Das sind die Messwerte, die Ingest unverändert durchreicht, weil sie zu keiner INFLUX_SENSOR_*-Variablen gehören. Die Raten in diesem Tab mitteln über die Zeitspanne des Puffers, nicht über die Laufzeit.

Der Tab House power zeigt die letzte Berechnung des Hausverbrauchs, Term für Term.

Tab House power der Ingest-Web-Oberfläche

Jede Zeile der Formel nennt ihr Vorzeichen, den Sensor, seinen Wert zum Zeitpunkt der Berechnung und dessen Anteil als Balken. Unten steht das Ergebnis, darunter der Wert, den der Kollektor selbst geliefert hat und den Ingest ersetzt.

Der Abstand zwischen beiden Zahlen ist der Betrag, um den Ingest korrigiert. Mit einem Balkonkraftwerk ist das im Wesentlichen dessen Leistung. Ohne eines bleibt meist ein kleiner Rest, denn der gelieferte Hausverbrauch kommt aus dem Gerät selbst, und dessen eigene Bilanz stimmt nicht auf das Watt genau mit der berechneten überein.

Der zweite Block rechnet weiter, bis zu der Zahl, die das Dashboard anzeigt: Vom berechneten Hausverbrauch gehen die Sensoren ab, die in INFLUX_EXCLUDE_FROM_HOUSE_POWER stehen.

Darunter stehen die Kennzahlen der Berechnung: Anzahl und Rate, Zeitpunkt der letzten Berechnung und der Anteil der Zeitpunkte, für die Ingest nichts geschrieben hat, weil ein Wert zu alt war. Kommt das vor, erscheint eine weitere Karte, die die dafür verantwortlichen Sensoren benennt. Der Block Sensor cache daneben betrifft nur das Innenleben: Er zeigt, wie oft Ingest die Werte der Formel im Speicher fand, statt sie aus der SQLite-Datenbank zu holen.

Ob die Oberfläche ein Passwort verlangt, entscheidet die Variable STATS_PASSWORD. Ohne sie ist die Oberfläche ohne Anmeldung erreichbar. HELIOS setzt die Variable immer, und zwar auf das Administrator-Passwort, dasselbe wie für Dashboard und HELIOS.

Ingest Web-Oberfläche Login