Zum Hauptinhalt springen

Eingangsdaten

CSV-Dateien​

Der Import von CSV Dateien ist über die Verwaltung möglich. Dies ist im Kapitel CSV-Import genauer beschrieben. Das Anlegen von Signal basierend auf den hochgeladenen Daten ist, im Kapitel Signal hinzufügen erläutert.

Was angekommen ist​

Welche Zeitreihen tatsächlich in der Plattform liegen — auch solche, denen noch kein Signal zugeordnet ist —, zeigt das Kapitel Metriken. Dort sehen Sie je Zeitreihe, wann der erste und der letzte Wert eingegangen sind und wie viele Werte insgesamt gespeichert sind.

Ob die Annahme überhaupt läuft​

Kommen gar keine Daten an, ist die Frage vor der Metrik die nach der Kette, die sie annimmt: MQTT- beziehungsweise OPC-UA-Anbindung und der Dienst, der die Werte schreibt. Jeder dieser Dienste meldet seinen Zustand über eine eigene Schnittstelle — wie Sie sie abfragen, steht im Kapitel Monitoring.

Wenn ein Dienst ausfällt​

Fällt der Zeitreihendienst, seine Datenbank oder die Plattformdatenbank aus, halten die Dienste, die Mess- und Benachrichtigungsdaten schreiben, von selbst an. Die Daten bleiben in Kafka liegen und werden geschrieben, sobald der ausgefallene Dienst wieder antwortet. Verloren geht dabei nichts, solange der Ausfall kürzer ist als die Aufbewahrungszeit des Kafka-Topics (üblich sind 7 Tage).

Ob ein Dienst gerade angehalten ist und warum, zeigt der Messwert hetida.kafka.consumer.paused mit dem Merkmal reason (ts_unavailable, core_db_unavailable, unclassified, maintenance); wie lange, zeigt hetida.kafka.consumer.pause.duration. Wie Sie Messwerte abfragen, steht im Kapitel Monitoring.

Geplante Wartung​

Vor einer geplanten Wartung des Zeitreihendienstes oder einer der Datenbanken halten Sie die beiden schreibenden Dienste besser selbst an, statt sich auf das automatische Anhalten zu verlassen: Es gibt dann keine Fehlermeldungen, keinen Alarm und keinen halb geschriebenen Datenblock.

  1. Setzen Sie für timeseries-ingestion-consumer und notification-consumer die Umgebungsvariable KAFKA_CONSUMER_MAINTENANCE=true und starten Sie beide Dienste neu. Mit Docker Compose steht die Variable in der Datei .env.local; im Cluster gehört sie in die Konfiguration der Umgebung, nicht in einen Befehl am laufenden System.
  2. Prüfen Sie, dass hetida.kafka.consumer.paused{reason="maintenance"} bei beiden Diensten den Wert 1 hat. Die Dienste melden sich dabei weiter als bereit — sie sind gesund und warten nur.
  3. Führen Sie die Wartung durch. Neue Daten sammeln sich in dieser Zeit in Kafka.
  4. Entfernen Sie die Variable wieder und starten Sie beide Dienste neu. Die gesammelten Daten werden danach nachgeschrieben.

Die Wartung darf nicht länger dauern als die Aufbewahrungszeit des Kafka-Topics. Was darüber hinausgeht, löscht Kafka.