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.
| Element | Wert |
|---|---|
| Modulname | plantpulse-timeseries |
| Installationspfad | /opt/kopens/plantpulse-platform/plantpulse-timeseries/ |
| Engine-Port | 7800 (HTTP) · 7801 (TLS) |
| UI-Port | 3000 (Grafana, nur TLS) |
pd Service | timeseries — Nur MASTER (ab 2026-09-05). engine(tse) → dashboard(grafana) |
| Konto | PP_TSE_USER / PP_TSE_PASSWORD |
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:
| Element | Wert |
|---|---|
jetty.port · jetty.ssl.port | PP_TSE_PORT(7800) · PP_TSE_TLS_PORT(7801). TLS verwendet den plattformweiten Keystore |
service.datastore | Cassandra-Modul — Tabellen wie pp.ts_data_points usw., UnifiedCompactionStrategy |
| Datenpunkt-TTL | PP_TSE_DATAPOINT_TTL — Standardwert 31536000 Sekunden (365 Tage). Bei jedem Schreiben aktualisiert, neue Werte gelten ab der neuen Zeile |
| Authentifizierung | PP_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
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
| Symptom | Ursache | Maßnahme |
|---|---|---|
| Kafka-Lag nimmt zu | Unzureichende Engine-Verarbeitung · Cassandra I/O | pd flow, pd node compactionstats |
| Daten verschwinden nach einigen Tagen | TTL | PP_TSE_DATAPOINT_TTL — ältere Images hatten ein 31-Tage-Literal. Bereits geschriebene Zeilen verfallen nach dem alten Wert |
| Grafana-Anmeldung schlägt fehl | Container-Neuerstellung setzt das Konto zurück | Siehe Warnung oben. Melden Sie sich mit Standardwerten an |
http://…:3000 ergibt 400 | Nur TLS | https:// |
| Dashboard-Antwort langsam | Zeitbereich zu groß | Zeitbereich verkürzen, Aggregationsintervall vergrößern |