Zum Hauptinhalt springen

plantpulse-timeseries (Zeitreihe)

Rolle

Zeitreihen-Datenspeicher-Engine (TSE) und Grafana-Dashboard. Tag-Werte werden in Cassandra mit Zeilenebenen-TTL gespeichert; bietet Aggregations- und Abfrage-APIs.

ElementWert
Modulnameplantpulse-timeseries
Installationspfad/opt/kopens/plantpulse-platform/plantpulse-timeseries/
Engine-Port7800 (HTTP) · 7801 (TLS)
UI-Port3000 (Grafana, nur TLS)
pd ServicetimeseriesNur MASTER (ab 2026-09-05). engine(tse) → dashboard(grafana)
KontoPP_TSE_USER / PP_TSE_PASSWORD
Läuft nicht auf Workern (2026-09-05)

Die Engine auf Workern wurde von niemandem gelesen und kopierte nur bereits vom Master geschriebene Zeilen zum gleichen Ring (gemessen 4,4G). Da alle Abfrageverbraucher auf die Master-Engine verweisen, wird sie jetzt nur noch auf dem Master ausgeführt.

Konfiguration

Verzeichnisstruktur

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

Zeitreihen-Engine (7800 · 7801)

Die Konfigurationsvorlage ist /etc/kopens/conf/plantpulse-timeseries-engine.conf.template, eine, die in zwei Dateinamen gerendert wird. Wichtige Einträge:

ElementWert
jetty.port · jetty.ssl.portPP_TSE_PORT(7800) · PP_TSE_TLS_PORT(7801). TLS verwendet den plattformweiten Keystore
service.datastoreCassandra-Modul — Tabellen wie pp.ts_data_points usw., UnifiedCompactionStrategy
Datenpunkt-TTLPP_TSE_DATAPOINT_TTL — Standardwert 31536000 Sekunden (365 Tage). Bei jedem Schreiben aktualisiert, neue Werte gelten ab der neuen Zeile
AuthentifizierungPP_TSE_USER / PP_TSE_PASSWORD — nicht für passwd.sh, 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» im Tools-Bildschirm der Admin Console (7801) ist der Verwaltungsbildschirm der Engine selbst. Um Zeitreihen-Daten anzuzeigen, verwenden Sie Grafana.

Grafana (3000)

https://<server-ip>:3000/ — antwortet nur über TLS. Mit http:// öffnen ergibt 400.

Die Anmeldedaten liegen in der Grafana-eigenen Datenbank; der Data Lake liest Variablen wie PP_GRAFANA_* nicht. Die Stelle zum Ändern ist der Grafana-Bildschirm (Profil → Change password) → Web-UI-Anmeldedaten — Grafana

Grafana-Daten überleben keine Container-Neuerstellung

dashboard/data befindet sich bereits im Image-Baum und ist kein Volume. Passwortänderungen und Dashboards, die auf dem Bildschirm erstellt wurden, werden auf den im Image gespeicherten Zustand zurückgesetzt, wenn der Container neu erstellt wird. Dies wurde als Produktfehler gemeldet. Exportieren Sie Dashboards als JSON und bewahren Sie sie separat auf.

Verwaltungsbefehle

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

Häufig auftretende Probleme

SymptomUrsacheMaßnahme
Kafka-Lag nimmt zuUnzureichende Engine-Verarbeitung · Cassandra I/Opd flow, pd node compactionstats
Daten verschwinden nach einigen TagenTTLPP_TSE_DATAPOINT_TTL — ältere Images hatten ein 31-Tage-Literal. Bereits geschriebene Zeilen verfallen nach dem alten Wert
Grafana-Anmeldung schlägt fehlContainer-Neuerstellung setzt das Konto zurückSiehe Warnung oben. Melden Sie sich mit Standardwerten an
http://…:3000 ergibt 400Nur TLShttps://
Dashboard-Antwort langsamZeitbereich zu großZeitbereich verkürzen, Aggregationsintervall vergrößern

Weiterführende Dokumentation