Zum Hauptinhalt springen

plantpulse-timeseries (Zeitreihe)

Rolle​

Dies ist die Engine ausschließlich für Zeitreihendaten (TSE) und das PlantPulse Dashboard. Tag-Werte werden mit zeilenweiser TTL in Aster TSDB gespeichert und über Aggregations- und Abfrage-APIs bereitgestellt.

ElementWert
Modulnameplantpulse-timeseries
Installationspfad/opt/kopens/plantpulse-platform/plantpulse-timeseries/
Engine-Port7800 (HTTP) · 7801 (TLS)
UI-Port3000 (PlantPulse Dashboard, nur TLS)
pd-Diensttimeseries — nur MASTER (seit 2026-09-05). engine(tse) → dashboard(grafana)
KontoPP_TSE_USER / PP_TSE_PASSWORD
Erscheint nicht auf Workern (2026-09-05)

Die Engine auf Workern wurde von niemandem gelesen und kopierte nur bereits vom Master geschriebene Zeilen erneut in denselben Ring (gemessen: 4,4 G). Da alle Abfragekonsumenten auf die Master-Engine zeigen, wurde auf MASTER-only umgestellt.

Konfiguration​

Verzeichnisstruktur​

plantpulse-timeseries/
├── engine/ # 시계열 엔진 (Java)
│ ├── bin/
│ ├── conf/plantpulse-timeseries-engine.conf # 생성물 (옛 이름 timeseries-engine.conf 로도 한 벌)
│ └── logs/
└── dashboard/ # PlantPulse Dashboard
├── bin/
├── conf/custom.ini # protocol = https · http_port = 3000
├── data/ # PlantPulse Dashboard DB — 이미지 트리 안 (볼륨 아님)
└── logs/

Zeitreihen-Engine (7800 · 7801)​

Die Konfigurationsvorlage ist /etc/kopens/conf/plantpulse-timeseries-engine.conf.template, eine einzige, die als zwei Dateinamen gerendert wird. Kernelemente:

ElementWert
jetty.port · jetty.ssl.portPP_TSE_PORT(7800) · PP_TSE_TLS_PORT(7801). TLS verwendet den plattformweiten Keystore
service.datastoreAster-TSDB-Modul — Tabellen pp.ts_data_points usw., UnifiedCompactionStrategy
TTL für DatenpunktePP_TSE_DATAPOINT_TTL — Standard 31536000 Sekunden (365 Tage). Wird bei jedem Schreiben gesetzt, daher beginnt ein neuer Wert mit einer neuen Zeile
AuthentifizierungPP_TSE_USER / PP_TSE_PASSWORD — nicht für passwd.sh-Ziel, sondern Sidecar-Aktualisierung + Neustart
curl -fsS http://127.0.0.1:7800/api/health # 컨테이너 안
curl -kfsS https://<server-ip>:7801/api/health # 밖에서 — 401 은 «로그인 필요» 이지 «없음» 이 아닙니다

Die Karte «Timeseries Engine» (7801) im Werkzeug-Bildschirm der Verwaltungskonsole ist der Verwaltungsbildschirm der Engine selbst. Der Ort zum Ansehen der Zeitreihen-Daten ist PlantPulse Dashboard.

PlantPulse Dashboard (3000)​

https://<server-ip>:3000/ — antwortet nur über TLS. Der Zugriff über http:// führt zu 400.

Das Login-Konto liegt im eigenen Speicher von PlantPulse Dashboard. Der Ort zum Ändern ist der PlantPulse-Dashboard-Bildschirm (Profil → Passwort ändern) → Login-Konto für Weboberfläche — PlantPulse Dashboard

Speicher wurde auf PostgreSQL umgestellt (2026-09-08)

Dashboards, Datenquellen, Benutzer, Alarmregeln und API-Schlüssel liegen nun in der PostgreSQL-Datenbank grafana. Zuvor befanden sie sich in einer SQLite-Datei im Image-Baum (dashboard/data/grafana.db), sodass ein Neuerstellen des Containers alles zurücksetzte — jetzt bleiben sie erhalten.

VariableWert
PP_GRAFANA_DB_USERgrafana (fest — das Schema erstellt eine Rolle mit diesem Namen)
PP_GRAFANA_DB_PASSWORD🔑 Beim Start erforderlich — fehlt sie, beendet sich pd start mit Exit-Code 3

Das Rollenpasswort wird bei jedem Boot auf den Sidecar-Wert gesetzt.

Eine laufende Installation muss dem «Migrationsverfahren» unterzogen werden

🔴 PlantPulse Dashboard verschiebt sich nicht selbst zwischen Speichern. Wenn es auf eine leere PostgreSQL-Datenbank zeigt, gibt es einfach leeres PlantPulse Dashboard — keine Dashboards, keine Datenquellen, keine Benutzer. Es gibt ein separates Verfahren, um die Inhalte aus dem alten SQLite zu übertragen.

Nach der Migration öffnet sich die Konsole mit dem PlantPulse-Dashboard-Standardkonto. Da kein Mechanismus es bei jedem Boot anpasst, muss eine Person es einmal ändern. Ein Admin-Konto in die Konfigurationsdatei zu schreiben, ist zwecklos — sobald auch nur ein Benutzer im Speicher existiert, gewinnt der Speicher, und es gibt keinen Fehler, der dies meldet.

Betriebsbefehle​

docker exec plantpulse-datalake pd status timeseries
docker exec plantpulse-datalake pd restart timeseries # 엔진 + PlantPulse Dashboard
docker exec plantpulse-datalake pd logs --lines 100 timeseries
docker exec plantpulse-datalake pd retention # ts_data_points 의 크기 · 압축 전략

Häufig auftretende Probleme​

SymptomUrsacheMaßnahme
Anstieg von Kafka-LagZu wenig Engine-Verarbeitung · Aster-TSDB-I/Opd flow, pd node compactionstats
Daten verschwinden nach wenigen TagenTTLPP_TSE_DATAPOINT_TTL — das alte Image hatte ein 31-Tage-Literal. Bereits geschriebene Zeilen laufen gemäß dem alten Wert ab
PlantPulse Dashboard ist leer (keine Dashboards, keine Datenquellen)Speicher auf PostgreSQL umgestellt, aber Inhalte nicht übertragenSiehe Warnung oben — Migrationsverfahren durchführen
pd start beendet sich mit Exit 3PP_GRAFANA_DB_PASSWORD ist leerWert im Sidecar setzen und neu starten
http://…:3000 liefert 400Nur TLShttps://
Dashboard reagiert langsamZeitbereich zu großBereich verkürzen, Aggregationsintervall vergrößern

Verwandte Dokumentation​