跳到主要内容

FAQ

这里汇集了 PlantPulse 平台运营人员经常询问的问题及解答。如需更详细的操作步骤,请参阅 问题解决 页面。

安装 / 许可证​

Q. 应该选择哪种安装方法?​

A. One-line 安装 是标准方法。仅需一行命令即可完成从 OS 设定到防火墙、容器启动的所有处理,更新和回滚也使用同一工具。如果是隔离网络,请参阅 Docker 安装的隔离网络步骤;如需部署在 Kubernetes 上,请参阅 Kubernetes 安装。

Q. 在隔离网络中也可以安装吗?​

A. 可以。在连接互联网的节点上使用 ./airgap-bundle.sh 生成 Bundle,然后通过 USB 或内部文件服务器将其转移到隔离网络,最后执行 ./airgap-load.sh 即可。详细步骤请参阅 Docker 安装 - 隔离网络(Airgap)安装 章节。

Q. 如何获取许可证?​

A. 镜像 registry 凭据和许可证由 KOPENS 运营团队颁发。请联系 webmaster@kopens.com。

Q. 最低 / 推荐配置是多少?​

A. 单节点标准:

区分最低推荐
CPU16 vCPU32 vCPU
内存128GB (Data Lake Master 96GB 以上,不支持 64GB)256GB
磁盘200GB1TB+ (视数据量而定)
OSRHEL · Rocky · Oracle Linux 8/9/10 · Ubuntu 22.04+ · Amazon Linux 2023同左

详细规格请参阅 系统要求 页面。

Q. 支持哪些 OS?​

A. 以下 OS 支持 One-line 安装:

  • RHEL · Rocky Linux · Oracle Linux 8.x · 9.x · 10.x
  • Ubuntu 22.04 及以上
  • Amazon Linux 2 · 2023

在未经验证的 OS 中,可以使用 SKIP_OS=1 选项跳过 OS 设定并进行手动设定。

Q. 也可以使用 Podman 运行吗?​

A. 可以。将 bin/env.sh 的 DOCKER_CMD="docker" 修改为 DOCKER_CMD="podman" 后,所有脚本将以 Podman 方式运行。

安装 / 启动​

Q. 安装需要多长时间?​

A. 以 One-line 安装为准,从 OS 设定 + Docker 安装 + 镜像下载 + 容器启动 大约需要 10~20 分钟(取决于网络速度)。之后,容器内部启动还需额外 3~5 分钟(Aster TSDB 模式迁移 + JVM warm-up)。

Q. 安装后从哪里 접속?​

A. 请通过浏览器访问以下地址:

http://[서버IP]/
  • 代理容器仅开放 一个 80 端口。没有单独的管理控制台端口。
  • [서버IP] 是安装时指定的服务器地址。
  • 默认管理员账户:admin / admin123!
  • 登录后请务必修改密码。

Q. 启动后 health 显示为 unhealthy。​

A. 启动需要 3~5 分钟。如果 5 分钟后仍为 unhealthy 状态,请参阅 问题解决 - 容器启动问题。

Q. 修改了 env.sh 但没有生效。​

A. env.sh 的修改仅在启动时生效。必须执行以下命令重启才能应用。

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

Q. 如何设置服务器重启后自动启动?​

A. 容器按照 --restart unless-stopped 策略运行,因此只要 Docker 守护进程启动,容器就会自动随之启动。Docker 守护进程本身已设置为通过 systemctl enable docker 在启动时自动启动。

运营 / 管理​

Q. 如何启动 / 停止 / 重启平台?​

A. 在主机的 /opt/kopens/plantpulse-platform-docker/bin/ 中执行:

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

详细内容请参阅 启动指南 页面。

Q. 可以在不重启整体的情况下,仅重启部分组件吗?​

A. 可以。但 根据是应用还是基础设施,方法有所不同。

六个应用分别在各自的容器中运行,因此重新启动该容器即为重启。

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

存储、分析、消息传递等基础设施组件在 Data Lake 容器内共同运行,因此需要进入容器执行独立脚本。

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

详细列表请参阅 启动指南 — 组件级重启。

Q. 在哪里查看日志?​

A. 可以在主机查看容器标准日志,也可以在容器内部查看各模块的详细日志。

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

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

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

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

# 모듈별 로그를 호스트로 한 번에 복사
./tools/copy-log-to-local.sh
不确定哪个容器出现问题时,不带参数执行

由于共有 8 个容器,仅查看单个日志很容易遗漏原因。不带参数的 ./logs.sh 会将 8 个容器的日志按时间顺序混合显示。

Q. 如何进行备份?​

A. 可以按 Docker 卷单位进行 tar.gz 备份。

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 # 볼륨 하나만

建议的备份周期请参阅 运营管理 - 备份与恢复。

Q. 发布新版本后如何更新?​

A. 在同一台服务器上再次运行安装 One-liner(无需删除或清理)。新版本的运营脚本 · compose · 镜像将一同导入,数据将保留在卷中。

sudo -i
curl -fsSL https://product.kopens.io/plantpulse-platform/install.sh | bash

./update.sh 不是官方流程 — 该方法仅更换镜像,无法识别新版本中新增的服务。备份与确认方法请参阅 升级。

Q. 更新后出现问题如何回滚?​

A. One-liner 在升级前会备份 Stack,如果升级失败,将 自动还原至前一版本(包括数据还原至备份时间点 — 升级期间进入的数据将不保留)。修复原因后重新运行同一 One-liner。如果升级成功但随后需要还原,请使用 bin/upgrade-rollback.sh <백업 위치> 回滚 — 升级。

Q. 可以增加工作节点来构建集群吗?​

A. 可以。工作节点列表的正本为 compose/workers.roster,增加节点由专用脚本完成。

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

详细内容请参阅 集群安装 页面。

Q. 如何增加容器内存?​

A. 修改 env.sh 的 DOCKER_PP_MEMORY 后,执行以下操作之一。

./restart.sh
请先确定是哪个容器的内存

每个容器有独立的限制值。Data Lake 为 DOCKER_DATALAKE_MEMORY (默认 96G),应用则有如 DOCKER_SERVER_MEMORY · DOCKER_BATCH_MEMORY 等按服务划分的变量 → 环境变量参考

通过 docker stats --no-stream 可以确认哪个容器达到了限制。

数据 / 性能​

Q. 数据存储在哪里?​

A. 存储在主机的 Docker 卷中。

卷用途
pp-data主数据 (Aster TSDB, PostgreSQL, RustFS)
pp-temp临时处理文件
pp-backup自备份
pp-security证书 / 密钥
pp-template模板数据

实际主机路径为 /data1/docker-data/volumes/ (可通过 env.sh 的 DOCKER_DATA_DIR 进行更改)。

Q. 删除容器后数据还会保留吗?​

A. 是的,./remove.sh 仅删除容器,卷将继续保留。重新安装后可直接使用之前的数据。若要完全删除卷,必须执行 ./tools/remove-all-volumes.sh。

Q. 可以调整数据保留周期吗?​

A. 可以通过 Aster TSDB TTL 设定来调整时序数据的保留周期。可在控制台的系统设定或 properties 中进行更改。详细内容请参阅 性能调优 及 属性参考。

Q. 响应速度变慢了,如何诊断?​

A. 请按以下顺序巡检。

# 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

详细调优请参阅 性能调优 页面。

Q. Aster TSDB 磁盘占用过高。​

A. 可以通过以下命令清理。

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

长期建议考虑调整保留周期 (TTL) 或扩展磁盘。

安全 / 用户​

Q. 默认密码是什么,在哪里修改?​

A. 默认管理员账户为 admin / admin123!。登录后请立即在右上角用户图标 > 修改密码菜单中更改。

数据库 / 消息传递等服务账户密码通过 bin/env.sh 的 PP_*_PASSWORD 变量管理,初次安装时保存在 /etc/kopens/plantpulse-platform.env (mode 0600)。

路径确认 — Secret Sidecar 的正本仅为 /etc/kopens/plantpulse-platform.env (权限 0600)。在旧版本安装中,/opt/kopens/ 下可能保留有同名文件,但系统不会读取,安装脚本会将其还原为正本 → 环境变量参考

Q. 如何进行用户 / 权限管理?​

A. 可以在控制台的 安全管理 菜单中管理用户、角色 (role) 和权限。详细内容请参阅 用户管理 及 安全设定 页面。

Q. 如何更改 HTTPS 证书?​

A. 证书存储在 pp-security 卷中。建议定期更换。详细步骤请参阅 安全设定 页面。

Q. 应该开放哪些端口到外部?​

A. 对于用户 / 外部系统访问,建议仅开放 80, 443, 4950。如果设备直接连接,则增加 1883/1884 (MQTT) · 11004/11005 (OPC-UA)。其余端口 (DB, Kafka, 集群, JMX) 请限制仅在私有网络内访问。详细列表请参阅 端口配置信息。

状态检查和管理控制台均可通过 4950 (HTTPS) 和 4949 (明文) 访问。由于 4949 是明文,在不可信网络中请使用 4950。

Q. 在多节点环境下,节点间通信如何保护?​

A. JGroups, Aster TSDB, Kafka 等集群内部通信会自动应用 source 限制,仅允许来自 RFC 1918 私有网络 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) 及 Tailscale CGN 频段 (100.64.0.0/10) 的访问。

多语言 / 时区​

Q. 可以使用英文 UI 运行吗?​

A. 可以。在 env.sh 中执行:

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

修改后执行 ./restart.sh。但由于 Aster TSDB 时序数据以 KST epoch 形式加载,在韩国运营时必须保持 PP_TZ=Asia/Seoul。

Q. PlantPulse 是否支持按用户切换韩文 / 英文 UI?​

A. 不支持。平台采用 每个服务器实例单一区域设置 (Locale) 模型。在 JVM 启动时通过环境变量固定,不支持用户级切换。请按 «韩国版 = ko, 全球版 = en» 进行运营。

外部系统集成​

Q. 如何与 OPC-UA 服务器连接?​

A. 在控制台的 连接管理 菜单中注册 OPC-UA 服务器信息 (URL, 认证, 安全策略),并映射要采集的标签。详细步骤请参阅 连接管理 页面。

Q. MQTT 设备如何发送数据?​

A. 通过主机 IP 的 1883 (PLAINTEXT) 或 18884 (TLS) 端口连接到 MQTT Broker (HiveMQ) 即可。认证信息为 env.sh 的 PP_MQ_USER / PP_MQ_PASSWORD。

Q. 如何通过 API 与外部系统集成?​

A. 所有功能均提供 REST API。请参阅 开发者指南 - API 使用手册。

监测 / 报警​

Q. 如何将平台状态集成到外部监测系统?​

A. 监测系统可以通过 polling 方式获取 Health 端点和 ops-check 结果。

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

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

详细内容请参阅 系统监测 页面。

Q. 报警可以通过电子邮件或 SMS 接收吗?​

A. 电子邮件通过 SMTP 设定支持。在每个报警设定中的 外部转发通道 中开启 发送邮件 · 发送 SMS (SMS 需配置网关后方可发送)。实际发送记录保留在 报警详情 的报警接收者面板中。即时通讯 (Slack 等) 集成可通过外部 webhook 或 Flow 引擎配置。

支持 / 咨询​

Q. 在哪里可以获得帮助?​

A. 请优先确认以下资料:

若上述资料仍无法解决问题,请将诊断 tarball 发送至 webmaster@kopens.com 进行咨询。

Q. 需要随附哪些信息?​

A. 请参阅 问题解决 - 请求支持时所需信息 章节。./doctor.sh 生成的诊断 tarball 包含了大部分所需信息 (密码等敏感信息已自动掩码)。

Q. 在哪里查看最新文档?​

A. 您可以在 https://kopens.gitbook.io/plantpulse-platform/ 随时确认最新文档。