Zum Hauptinhalt springen

FAQ

Hier finden Sie eine Sammlung häufig gestellter Fragen und Antworten für den Betrieb der PlantPulse Platform. Für detailliertere Vorgehensweisen konsultieren Sie bitte die Seite Fehlerbehebung.

Installation / Lizenz

Q. Welche soll ich wählen: Docker-Installation oder Binärinstallation?

A. Sofern kein besonderer Grund vorliegt, wird die One-Line-Installation (Docker-basiert) empfohlen. Mit einem einzigen One-Line-Befehl werden OS-Setup, Firewall und Container-Start automatisch abgewickelt, und auch Updates sowie Rollbacks sind einfach durchzuführen. Die Binärinstallation wird nur für Umgebungen empfohlen, in denen Docker nicht verwendet werden kann.

Q. Kann die Installation auch im Air-Gap-Netzwerk erfolgen?

A. Ja, das ist möglich. Erstellen Sie auf einem mit dem Internet verbundenen Knoten mit ./airgap-bundle.sh ein Bundle, übertragen Sie es per USB oder internem Dateiserver in das Air-Gap-Netzwerk und führen Sie dort ./airgap-load.sh aus. Details finden Sie im Abschnitt Docker-Installation - Air-Gap-Installation.

Q. Wie erhalte ich eine Lizenz?

A. Zugangsdaten für die Image-Registry sowie die Lizenz werden vom KOPENS-Betriebsteam ausgestellt. Bitte wenden Sie sich an webmaster@kopens.com.

Q. Wie lauten die Mindest- / Empfohlenen Systemanforderungen?

A. Bezogen auf einen einzelnen Knoten:

KategorieMinimumEmpfohlen
CPU16 vCPU32 vCPU
Arbeitsspeicher64GB200GB
Festplatte200GB1TB+ (je nach Datenmenge)
OSOracle Linux 8 / RHEL 9 / Ubuntu 22.04 / Amazon Linux 2023identisch

Detaillierte Spezifikationen finden Sie auf der Seite Systemanforderungen.

Q. Welche Betriebssysteme werden unterstützt?

A. Die One-Line-Installation wird auf folgenden Betriebssystemen unterstützt:

  • Oracle Linux 8.x
  • RHEL / Rocky Linux 8.x, 9.x
  • Ubuntu 22.04+
  • Amazon Linux 2, 2023

Auf nicht verifizierten Betriebssystemen kann mit der Option SKIP_OS=1 das OS-Setup übersprungen und manuell eingerichtet werden.

Q. Kann der Betrieb auch mit Podman erfolgen?

A. Ja, das ist möglich. Wenn Sie DOCKER_CMD="docker" in bin/env.sh auf DOCKER_CMD="podman" ändern, funktionieren alle Skripte mit Podman.

Installation / Start

Q. Wie lange dauert die Installation?

A. Bei der One-Line-Installation dauert es von OS-Setup + Docker-Installation + Image-Download + Container-Start bis zum Abschluss etwa 10–20 Minuten (abhängig von der Netzwerkgeschwindigkeit). Anschließend benötigt der interne Boot-Vorgang der Container weitere 3–5 Minuten (Cassandra-Schema-Migration + JVM-Warm-up).

Q. Wohin verbinde ich mich nach der Installation?

A. Bitte rufen Sie im Browser folgende Adresse auf.

http://[서버IP]:7500
  • [서버IP] ist der Wert von DOCKER_PP_EXTERNAL_IP in env.sh.
  • Standard-Administratorkonto: admin / admin123!
  • Bitte ändern Sie unbedingt nach dem Login das Passwort.

Q. Nach dem Start wird der Health-Status als unhealthy angezeigt.

A. Der Boot-Vorgang dauert 3–5 Minuten. Wenn der Status auch nach 5 Minuten noch unhealthy ist, konsultieren Sie bitte Fehlerbehebung - Probleme beim Container-Start.

Q. Ich habe env.sh geändert, aber es wird nicht übernommen.

A. Änderungen an env.sh werden nur zum Boot-Zeitpunkt übernommen. Ein Neustart mit folgendem Befehl ist zwingend erforderlich, damit die Änderung wirksam wird.

cd /opt/kopens/plantpulse-platform-docker/bin
./restart.sh

Q. Wie stelle ich sicher, dass die Plattform nach einem Server-Neustart automatisch startet?

A. Die Container laufen mit der Richtlinie --restart unless-stopped, sodass sie automatisch mitstarten, sobald der Docker-Daemon startet. Der Docker-Daemon selbst ist so konfiguriert, dass er über systemctl enable docker beim Booten automatisch startet.

Betrieb / Verwaltung

Q. Wie starte / stoppe / starte ich die Plattform neu?

A. Auf dem Host unter /opt/kopens/plantpulse-platform-docker/bin/:

./up.sh # 기동 — 준비될 때까지 대기 (종료 코드 0 = 쓸 수 있다)
./down.sh # 중지 (데이터 보존)
./restart.sh # 재시작 (graceful drain + 준비 대기)
./status.sh # 상태 요약 (0 = 정상 / 2 = 비정상)

Weitere Details finden Sie auf der Seite Startleitfaden.

Q. Kann ich einzelne Komponenten neu starten, ohne alles neu zu starten?

A. Ja, das ist möglich. Allerdings unterscheidet sich die Methode je nachdem, ob es sich um eine App oder eine Infrastrukturkomponente handelt.

Die sechs Apps laufen jeweils in eigenen Containern, sodass das Neustarten des jeweiligen Containers dem Neustart entspricht.

cd /opt/kopens/plantpulse-platform-docker
docker compose -f compose/docker-compose.yml restart plantpulse-server-web

Infrastrukturkomponenten wie Storage, Analyse und Messaging laufen gemeinsam im Data-Lake-Container, weshalb man dort hinein muss, um einzelne Skripte auszuführen.

./shell.sh
/opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin/pd restart storage
exit

Die ausführliche Liste finden Sie unter Startleitfaden — Neustart auf Komponentenebene.

Q. Wo kann ich die Logs einsehen?

A. Auf dem Host können Sie die Standardlogs des Containers einsehen, im Container selbst detaillierte Logs pro Modul.

# 전체 컨테이너 로그를 한 화면에 (서비스 이름 접두, 시간순)
./logs.sh

# 특정 컨테이너만
./logs.sh plantpulse-server-web -n 200

# 데이터레이크 안 컴포넌트 로그 파일
./logs.sh cassandra

# 볼 수 있는 대상 전체 목록
./logs.sh --list

# 모듈별 로그를 호스트로 한 번에 복사
./tools/copy-log-to-local.sh
Wenn unklar ist, welcher Container das Problem verursacht, ohne Argument

Da es acht Container gibt, kann man die Ursache leicht übersehen, wenn man nur die Logs eines einzelnen Containers betrachtet. ./logs.sh ohne Argument zeigt alle acht in chronologischer Reihenfolge vermischt an.

Q. Wie erstelle ich ein Backup?

A. Ein Backup als tar.gz ist auf Ebene der Docker-Volumes möglich.

cd /opt/kopens/plantpulse-platform-docker/bin

./backup.sh # 기본 세트 (pp-data · pp-security)
./tools/backup-volume.sh pp-data 7 /data1/pp-backup/docker-volume # 볼륨 하나만

Die empfohlene Backup-Frequenz finden Sie unter Betriebsverwaltung - Backup und Wiederherstellung.

Q. Wie führe ich ein Update durch, wenn eine neue Version erscheint?

A. Dies wird über einen Befehl für unterbrechungsfreie Updates abgewickelt.

cd /opt/kopens/plantpulse-platform-docker/bin
./update.sh

Automatisch ausgeführt: docker pull → Graceful-Shutdown → Neuerstellung mit neuem Image → Health-Verifizierung → bei Fehlschlag automatisches Rollback. Da die Daten separat in Volumes gespeichert sind, besteht keine Gefahr eines Datenverlusts.

Q. Wie führe ich ein Rollback durch, wenn nach einem Update Probleme auftreten?

A. ./update.sh führt bei fehlgeschlagener Health-Verifizierung automatisch ein Rollback durch. Wenn auch nach dem automatischen Rollback noch Probleme bestehen oder ein manuelles Rollback erforderlich ist, legen Sie in env.sh mit PP_IMAGE_TAG die vorherige stabile Version fest und führen Sie ./update.sh erneut aus.

Q. Kann ich einen Cluster durch Hinzufügen von Worker-Knoten aufbauen?

A. Ja, das ist möglich. Die maßgebliche Quelle für die Worker-Liste ist compose/workers.roster, das Hinzufügen erfolgt über ein dediziertes Skript.

cd /opt/kopens/plantpulse-platform-docker/bin
bin/worker-add.sh # 빈 id·주소 자동 선택 (링 합류까지 확인합니다)

Weitere Details finden Sie auf der Seite Cluster-Installation.

Q. Wie erhöhe ich den Speicher eines Containers?

A. Ändern Sie DOCKER_PP_MEMORY in env.sh und führen Sie anschließend eine der folgenden Optionen aus.

./restart.sh
Bestimmen Sie zunächst, für welchen Container der Speicher gilt

Jeder Container hat seinen eigenen Grenzwert. Für den Data Lake gilt DOCKER_DATALAKE_MEMORY (Standard 80G), für Apps gibt es dienstbezogene Variablen wie DOCKER_SERVER_MEMORY · DOCKER_BATCH_MEMORYReferenz der Umgebungsvariablen

Welcher Container an seine Grenze gestoßen ist, lässt sich mit docker stats --no-stream überprüfen.

Daten / Performance

Q. Wo werden die Daten gespeichert?

A. Sie werden in Docker-Volumes auf dem Host gespeichert.

VolumeVerwendungszweck
pp-dataHauptdaten (Cassandra, PostgreSQL, MinIO)
pp-tempTemporäre Verarbeitungsdateien
pp-backupEigene Backups
pp-securityZertifikate / Schlüssel
pp-templateVorlagendaten

Der tatsächliche Host-Pfad lautet /data1/docker-data/volumes/ (änderbar über DOCKER_DATA_DIR in env.sh).

Q. Bleiben die Daten erhalten, auch wenn ich den Container entferne?

A. Ja, ./remove.sh entfernt nur den Container, das Volume bleibt erhalten. Bei einer erneuten Installation können die vorherigen Daten weiterverwendet werden. Um auch das Volume vollständig zu entfernen, müssen Sie ./tools/remove-all-volumes.sh ausführen.

Q. Kann ich die Aufbewahrungsdauer der Daten anpassen?

A. Über die Cassandra-TTL-Einstellung kann die Aufbewahrungsdauer der Zeitreihendaten angepasst werden. Die Änderung ist über die Systemeinstellungen der Konsole oder über Properties möglich. Weitere Details finden Sie unter Performance-Tuning und in der Properties-Referenz.

Q. Die Antwortzeiten haben sich verlangsamt. Wie diagnostiziere ich das?

A. Bitte prüfen Sie in folgender Reihenfolge.

# 1. 컨테이너 자원 사용량
docker stats --no-stream

# 2. 호스트 부하
top
df -h

# 3. critical 로그 확인
./ops-check.sh

# 4. Cassandra 컴팩션 / 디스크 I/O
./shell.sh
/opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin/pd node compactionstats

Detailliertes Tuning finden Sie auf der Seite Performance-Tuning.

Q. Der Cassandra-Festplattenverbrauch ist zu hoch.

A. Mit folgendem Befehl können Sie aufräumen.

./shell.sh
/opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin/pd node cleanup # 불필요 데이터 정리
/opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin/pd node compact # 수동 컴팩션

Langfristig sollten Sie eine Anpassung der Aufbewahrungsdauer (TTL) oder eine Erweiterung des Speicherplatzes in Betracht ziehen.

Sicherheit / Benutzer

Q. Wie lautet das Standardpasswort und wo kann ich es ändern?

A. Das Standard-Administratorkonto lautet admin / admin123!. Bitte ändern Sie es nach dem Login sofort über das Benutzersymbol oben rechts > Menü zum Ändern des Passworts.

Passwörter für Servicekonten wie Datenbank / Messaging werden über die Variable PP_*_PASSWORD in bin/env.sh verwaltet und bei der Erstinstallation in /etc/kopens/plantpulse-platform.env gespeichert (Modus 0600).

Pfadprüfung — Die maßgebliche Quelle des Secret-Sidecars ist ausschließlich /etc/kopens/plantpulse-platform.env (Berechtigung 0600). Bei älteren Installationen kann derselbe Name noch unter /opt/kopens/ vorhanden sein, wird jedoch nicht gelesen; das Installationsskript stellt die maßgebliche Version wieder her → Referenz der Umgebungsvariablen

Q. Wie verwalte ich Benutzer / Berechtigungen?

A. Im Menü Sicherheitsverwaltung der Konsole können Benutzer, Rollen und Berechtigungen verwaltet werden. Weitere Details finden Sie auf den Seiten Benutzerverwaltung und Sicherheitseinstellungen.

Q. Wie ändere ich das HTTPS-Zertifikat?

A. Zertifikate werden im Volume pp-security gespeichert. Ein regelmäßiger Austausch wird empfohlen. Das genaue Vorgehen finden Sie auf der Seite Sicherheitseinstellungen.

Q. Welche Ports müssen nach außen freigegeben werden?

A. Für den Zugriff durch Benutzer / externe Systeme wird empfohlen, ausschließlich 80, 443, 7443, 4950 freizugeben. Falls Anlagen direkt angebunden sind, kommen 1883/1884 (MQTT) · 11004/11005 (OPC-UA) hinzu. Alle übrigen Ports (DB, Kafka, Cluster, JMX) sollten so eingeschränkt werden, dass sie nur aus dem privaten Netz erreichbar sind. Die vollständige Liste finden Sie unter Portkonfiguration.

Health- und Verwaltungskonsole sind sowohl über 4950 (HTTPS) als auch 4949 (Klartext) erreichbar. Da 4949 Klartext ist, sollten Sie in nicht vertrauenswürdigen Netzen 4950 verwenden.

Q. Wie wird die Kommunikation zwischen Knoten in einer Multi-Node-Umgebung geschützt?

A. Für clusterinterne Kommunikation wie JGroups, Cassandra und Kafka wird automatisch eine Quellbeschränkung angewendet, sodass der Zugriff nur aus den privaten RFC-1918-Netzen (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) sowie dem Tailscale-CGN-Bereich (100.64.0.0/10) möglich ist.

Mehrsprachigkeit / Zeitzone

Q. Kann der Betrieb mit englischsprachiger UI erfolgen?

A. Ja, das ist möglich. In env.sh:

export PP_LANG=en
export PP_TZ=America/New_York # 운영 지역 타임존

Nach der Änderung ./restart.sh. Da jedoch die Cassandra-Zeitreihendaten mit KST-Epoch abgelegt werden, muss beim Betrieb in Korea unbedingt PP_TZ=Asia/Seoul beibehalten werden.

Q. Kann PlantPulse zwischen koreanischer und englischer UI je nach Benutzer umschalten?

A. Nein. Die Plattform verwendet ein Modell mit genau einer Locale pro Serverinstanz. Diese wird zur JVM-Boot-Zeit über eine Umgebungsvariable fest eingestellt; eine Umschaltung pro Benutzer wird nicht unterstützt. Bitte betreiben Sie koreanische Boxen mit ko und globale Boxen mit en.

Anbindung externer Systeme

Q. Wie stelle ich eine Verbindung zu einem OPC-UA-Server her?

A. Registrieren Sie im Menü Verbindungsverwaltung der Konsole die Informationen des OPC-UA-Servers (URL, Authentifizierung, Sicherheitsrichtlinie) und ordnen Sie die zu erfassenden Tags zu. Das genaue Vorgehen finden Sie auf der Seite Verbindungsverwaltung.

Q. Wie sende ich Daten von einem MQTT-Gerät?

A. Verbinden Sie sich mit dem MQTT-Broker (HiveMQ) über Port 1883 (PLAINTEXT) oder 18884 (TLS) der Host-IP. Die Authentifizierungsdaten sind PP_MQ_USER / PP_MQ_PASSWORD in env.sh.

Q. Wie binde ich externe Systeme über die API an?

A. Alle Funktionen werden auch über die REST API bereitgestellt. Konsultieren Sie bitte den Entwicklerleitfaden - API-Benutzerhandbuch.

Monitoring / Alarm

Q. Wie binde ich den Plattformstatus an ein externes Monitoring-System an?

A. Der Health-Endpunkt und die Ergebnisse von ops-check können vom Monitoring-System per Polling abgefragt werden.

# Healthcheck 엔드포인트 (모니터링용)
curl -kfsS https://[서버IP]:4950/api/health

# 운영 health + critical log (스크립트 호출)
ssh root@[서버IP] /opt/kopens/plantpulse-platform-docker/bin/ops-check.sh

Weitere Details finden Sie auf der Seite Systemüberwachung.

Q. Kann ich Alarme per E-Mail oder SMS erhalten?

A. E-Mail wird über eine SMTP-Konfiguration unterstützt. Die Einrichtung erfolgt im Menü Alarm > Benachrichtigungseinstellungen der Konsole. Die Anbindung von SMS / Messengern (Slack usw.) kann über externe Webhooks oder die Flow-Engine konfiguriert werden.

Support / Kontakt

Q. Wo erhalte ich Unterstützung?

A. Bitte prüfen Sie zunächst folgende Ressourcen.

Sollte sich das Problem damit nicht lösen lassen, wenden Sie sich bitte zusammen mit dem Diagnose-Tarball an webmaster@kopens.com.

Q. Welche Informationen sollte ich mitschicken?

A. Bitte konsultieren Sie den Abschnitt Fehlerbehebung - Erforderliche Informationen bei Supportanfragen. Der von ./doctor.sh erzeugte Diagnose-Tarball enthält die meisten der benötigten Informationen (sensible Daten wie Passwörter werden automatisch maskiert).

Q. Wo finde ich die aktuellste Dokumentation?

A. Unter https://kopens.gitbook.io/plantpulse-platform/ finden Sie stets die aktuellste Dokumentation.