跳到主要内容

环境设置 (/ui/system/config) — 编辑 app.properties

这是在网页上直接编辑 app.properties 文件的界面,该文件包含网关的所有设置 (DB / MQTT / OPC-UA / 站点 / 监控 / 用户等)。

点击主页卡片 环境设置,或访问 /ui/system/config

容器模式 (2026.05+) 的保存行为

保存时会更新 /etc/kopens/app.properties (host bind mount),并通过容器重启 (/config/restart 按钮或 signal file /etc/kopens/host-action.request) 生效。HiveMQ broker 的 auth.properties 由 container-entrypoint 在每次启动时与 mqtt.server.* 自动同步 — 只需修改 app.properties 即可 (无需手动编辑 auth.properties)。

CLI 变更:

sudo bash /opt/kopens/install/bin/config.sh --set edge.rest.api.auth true
sudo bash /opt/kopens/install/bin/config.sh --restart

1. 界面构成

┌─────────────────────────────────────────────────────────────┐
│ 환경 설정 [←] [💾 저장] │
├─────────────────────────────────────────────────────────────┤
│ ⚠ 주의사항 패널 (빨강) │
│ - 환경 설정 파일 수정 시 서버 재시작 필요 │
│ - 필수 키 삭제 금지 │
│ - 웹 접속 불가시 ${PE_HOME}/conf/app.properties 수동 수정 │
├─────────────────────────────────────────────────────────────┤
│ [CodeMirror 에디터 — properties 모드 / xq-dark 테마] │
│ (라인번호, 매칭 괄호, 자동 완성, 활성 라인 하이라이트) │
└─────────────────────────────────────────────────────────────┘

2. 顶部操作

按钮动作
← 返回跳转到 /ui/main
💾 保存 (蓝色按钮)POST /config/save — 将当前编辑器内容保存到 app.properties

保存后立即弹出提示:"设置已完成!重启服务器后,设置内容将生效。"

⚠ 保存本身立即完成,但运行时需重启后才生效。


3. 编辑器 — CodeMirror

功能说明
模式text/x-properties (KEY=VALUE 格式)
主题xq-dark (黑色背景 + 荧光关键字)
行号显示在左侧
括号匹配${...} 等自动高亮
活动行高亮光标所在行
自动换行长行自动 wrap
高度2400px (长文件一次显示)

4. app.properties 核心键 — 常见项

详情参见 app.properties 设置。常改的项目:

分类含义
运行模式dev.modeEDGE / STANDALONE / PLATFORM — Edge 上通常为 EDGE
站点标识edge.id网关唯一 ID (EDGE_*)
site.id / site.name站点标识
上位平台server.host / server.port / server.usernamePlantPulse 平台 API
server.api_key (旧 server.apikey 回退)基于 Token 的认证令牌 (V4 setUsernameAndToken)
REST API 认证 (外部客户端)edge.rest.api.authtrue 时调用 /api/* 强制认证
edge.rest.api.key外部发送的 API 密钥。生产环境中通过 EDGE_REST_API_KEY_FILE / EDGE_REST_API_KEY 注入,并使用 X-API-Key 请求头或 Authorization: Bearer 发送。?api_key= 查询将被 401 拒绝
OPC-UA 服务器opc.ua.server.host / tcp.port / user / password网关内置的 OPC-UA 服务器 (供外部 SCADA 接入)
opc.ua.server.anonymous允许 Anonymous (yes/no/true/false/on/1) — 旧的拼写错误键 ananymous 也作为回退被识别 (双向兼容)
MQTTmqtt.enable / mqtt.server.host / port / user / password / topicHiveMQ (自建或外部)
Sparkplug Bsparkplug.enable / sparkplug.cmd.enable / group.id / edge.node.idSparkplug 发送 + 接收 NCMD/DCMD 命令
DB / TTLapp.db.scheme_ddlDDL 文件路径 (default WEB-INF/db/scheme.cql — Cassandra CQL DDL)
cassandra.host / port / keyspace / edge.ttl时序存储策略 (TTL 单位 = 天)
监控monitor.ping.targets互联网 ping 目标
采集策略collector.thread.size / collector.batch.size采集器线程池大小
安全security.session.timeout.minutesWeb 会话超时
删除必需键 / 拼写错误 → 启动失败

edge.idcassandra.hostmqtt.server.host 等必需键缺失或格式错误,下次启动时 startup listener 将失败。若网页无法打开,请通过 SSH 登录直接修改 /opt/kopens/plantpulse-edge/conf/app.propertiesbin/restart.sh


5. 保存后的生效流程

1. [💾 저장] 클릭 → 토스트 "재시작 필요"
2. 외부 SCADA / Sparkplug 수신측에 점검 공지 (다운타임 ~6초)
3. SSH 또는 시스템 메뉴 → /config/restart 호출
4. 1–2초 대기 → 화면 새로고침 → /api/v1/edge 로 새 값 확인

快速重启参见 重启 (restart.sh) (仅 Tomcat,约 6 秒)。需要连 DB / MQTT 一并完全重启的项目 (例如 mqtt.enable toggle) 参见 完全重启 (stop.shstart.sh)


6. 常见陷阱

现象原因 / 解决
已保存但变更未生效未重启。调用 bin/restart.sh
保存后无法访问网页必需键被删除 / 拼写错误。通过 SSH 登录手动恢复
保存后没有弹出提示通信错误 → 检查网络 / Tomcat 状态 (bin/ps.sh)
中文注释乱码文件不是 UTF-8。使用外部编辑器强制为 UTF-8 (无 BOM) 后保存
同一个键出现两次以最后出现的值为准。删除第一行

7. 系统标签 (自动注册 / 90000–90035)

网关启动时会将自身的 OPC (EDGE_*) 和 36 个系统标签 (TAG_<edge_id>_NNNNN) 自动注册到 OPC-UA 服务器。外部 SCADA / IIoT 侧订阅这些标签即可直接获取网关的状态/标识/网络信息。

7.1 标识 / 主机 (90000–90004)

索引指标类型含义
90000HOSTNAMESTRINGOS hostname
90001VERSIONSTRING网关软件版本
90002EDGE_IPSTRING网关自身 IP
90003EDGE_NAMESTRING网关名称
90004OPERATING_SYSTEMSTRINGOS + 架构

7.2 网络 (90005–90011)

索引指标类型含义
90005NET_1_IPSTRING1 号 NIC IP
90006NET_2_IPSTRING2 号 NIC IP
90007NET_WIFI_IPSTRINGWIFI IP
90008NET_GSM_IPSTRINGGSM 调制解调器 IP
90009NET_VPN_IPSTRINGVPN (tailscale 等) IP
90010NET_MGNT_IPSTRING管理端口 IP
90011TEMPERATUREDOUBLECPU 温度 (°C)

7.3 系统 / 采集 / 队列 (90012–90027)

索引指标类型含义
90012CPU_USAGEDOUBLECPU %
90013MEM_USAGEDOUBLE内存 %
90014DISK_USAGEDOUBLE磁盘 %
90015OPC_COUNTINTOPC 注册数
90016TAG_COUNTINT标签注册数
90017PLC_CON_CONNECTED_COUNTINT已连接 OPC 数
90018PLC_CON_DISCONNECTED_COUNTINT连接断开 OPC 数
90019PLC_SCAN_START_COUNTINT采集正常 OPC 数
90020PLC_SCAN_NOT_COLLECT_COUNTINT采集异常 OPC 数
90021PLC_SCAN_STOP_COUNTINT采集停止 OPC 数
90022QUEUE_SIZEINT内存队列
90023QUEUE_DISK_SIZEINT磁盘队列
90024SENDED_POINT_COUNTLONG累计发送点数
90025SENDED_POINT_BYTESLONG累计发送字节数
90026MPSDOUBLE每秒消息数
90027SYSTEM_ERROR_COUNTINT今日 ERROR 数量

7.4 运维 / 标识 (90028–90035) — 新增

索引指标类型含义
90028CONNECTED_OPC_IDSSTRING已连接 OPC ID 列表 (逗号分隔)
90029API_KEYSTRING当前生效的 REST API 密钥
90030REGISTED_OPC_IDSSTRING所有已注册 OPC ID 列表
90031DISCONNECTED_OPC_IDSSTRING连接断开 OPC ID 列表
90032COLLECTING_OPC_IDSSTRING采集中 OPC ID 列表
90033STOPPED_OPC_IDSSTRING采集停止 OPC ID 列表
90034BUILD_DATESTRING产物构建日期 (yyyy-MM-dd)
90035DOCKER_CONTAINER_NAMESSTRING运行中的 Docker 容器名称 (逗号分隔)

所有系统标签由 SendTask 以 1 秒周期刷新。外部 SCADA 订阅后,即可无需到现场就构建一目了然查看 Edge 状态的仪表板。


8. 延伸阅读