環境設定 (/ui/system/config) — app.properties 編集
ゲートウェイの すべての 設定 (DB / MQTT / OPC-UA / サイト / モニタリング / ユーザーなど) が含まれる app.properties ファイルを、Web から直接編集する画面です。
ホームカード 環境設定 → クリック、または /ui/system/config。
保存時に /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.mode | EDGE / STANDALONE / PLATFORM — 通常 Edge では EDGE |
| サイト識別 | edge.id | ゲートウェイ固有 ID (EDGE_*) |
site.id / site.name | サイト識別 | |
| 上位 Platform | server.host / server.port / server.username | PlantPulse Platform API |
server.api_key (旧 server.apikey フォールバック) | トークンベース認証用トークン (V4 setUsernameAndToken) | |
| REST API 認証 (外部クライアント) | edge.rest.api.auth | true の場合、/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 もフォールバックとして有効 (両方互換) | |
| MQTT | mqtt.enable / mqtt.server.host / port / user / password / topic | HiveMQ (自前または外部) |
| Sparkplug B | sparkplug.enable / sparkplug.cmd.enable / group.id / edge.node.id | Sparkplug 送信 + NCMD/DCMD コマンド受信 |
| DB / TTL | app.db.scheme_ddl | DDL ファイルのパス (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.minutes | Web セッションタイムアウト |
edge.id、cassandra.host、mqtt.server.host などの必須キーが欠落したり形式が壊れると、次回起動時に startup listener が失敗 します。Web が表示されない場合は SSH で入って /opt/kopens/plantpulse-edge/conf/app.properties を直接修正 → bin/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.sh → start.sh)。
6. よくある落とし穴
| 症状 | 原因 / 解決 |
|---|---|
| 保存はできたが変更が反映されない | 再起動していない。bin/restart.sh を呼び出す |
| 保存後に Web へ接続できない | 必須キーの削除 / タイポ。SSH で入って手動復旧 |
| 保存直後にトーストが出ない | 通信エラー → ネットワーク / Tomcat の状態を確認 (bin/ps.sh) |
| 日本語コメントが文字化けする | ファイルが UTF-8 でない。外部エディタで UTF-8 (BOM なし) を強制して保存 |
| 同じキーが2回現れる | 最後に現れた値が優先。先の行を削除 |
7. システムタグ (自動登録 / 90000–90035)
ゲートウェイ起動時に自分自身の OPC (EDGE_*) と 36個のシステムタグ (TAG_<edge_id>_NNNNN) を OPC-UA サーバーに自動登録します。外部 SCADA / IIoT 側でこのタグを購読すると、ゲートウェイの 状態 / 識別 / ネットワーク 情報をそのまま取得できます。
7.1 識別 / ホスト (90000–90004)
| インデックス | メトリック | タイプ | 意味 |
|---|---|---|---|
| 90000 | HOSTNAME | STRING | OS hostname |
| 90001 | VERSION | STRING | ゲートウェイ SW バージョン |
| 90002 | EDGE_IP | STRING | ゲートウェイ自身の IP |
| 90003 | EDGE_NAME | STRING | ゲートウェイ名 |
| 90004 | OPERATING_SYSTEM | STRING | OS + アーキテクチャ |
7.2 ネットワーク (90005–90011)
| インデックス | メトリック | タイプ | 意味 |
|---|---|---|---|
| 90005 | NET_1_IP | STRING | 1番 NIC IP |
| 90006 | NET_2_IP | STRING | 2番 NIC IP |
| 90007 | NET_WIFI_IP | STRING | WIFI IP |
| 90008 | NET_GSM_IP | STRING | GSM モデム IP |
| 90009 | NET_VPN_IP | STRING | VPN (tailscale など) IP |
| 90010 | NET_MGNT_IP | STRING | 管理ポート IP |
| 90011 | TEMPERATURE | DOUBLE | CPU 温度 (°C) |
7.3 システム / 収集 / キュー (90012–90027)
| インデックス | メトリック | タイプ | 意味 |
|---|---|---|---|
| 90012 | CPU_USAGE | DOUBLE | CPU % |
| 90013 | MEM_USAGE | DOUBLE | メモリ % |
| 90014 | DISK_USAGE | DOUBLE | ディスク % |
| 90015 | OPC_COUNT | INT | OPC 登録数 |
| 90016 | TAG_COUNT | INT | タグ登録数 |
| 90017 | PLC_CON_CONNECTED_COUNT | INT | 接続済み OPC 数 |
| 90018 | PLC_CON_DISCONNECTED_COUNT | INT | 接続断 OPC 数 |
| 90019 | PLC_SCAN_START_COUNT | INT | 収集正常 OPC 数 |
| 90020 | PLC_SCAN_NOT_COLLECT_COUNT | INT | 収集異常 OPC 数 |
| 90021 | PLC_SCAN_STOP_COUNT | INT | 収集停止 OPC 数 |
| 90022 | QUEUE_SIZE | INT | メモリキュー |
| 90023 | QUEUE_DISK_SIZE | INT | ディスクキュー |
| 90024 | SENDED_POINT_COUNT | LONG | 累積送信ポイント |
| 90025 | SENDED_POINT_BYTES | LONG | 累積送信バイト |
| 90026 | MPS | DOUBLE | 秒あたりメッセージ数 |
| 90027 | SYSTEM_ERROR_COUNT | INT | 本日の ERROR 件数 |
7.4 運用 / 識別 (90028–90035) — 新規
| インデックス | メトリック | タイプ | 意味 |
|---|---|---|---|
| 90028 | CONNECTED_OPC_IDS | STRING | 接続済み OPC ID 一覧 (カンマ区切り) |
| 90029 | API_KEY | STRING | 現在有効な REST API キー |
| 90030 | REGISTED_OPC_IDS | STRING | 登録済みすべての OPC ID 一覧 |
| 90031 | DISCONNECTED_OPC_IDS | STRING | 接続断 OPC ID 一覧 |
| 90032 | COLLECTING_OPC_IDS | STRING | 収集中 OPC ID 一覧 |
| 90033 | STOPPED_OPC_IDS | STRING | 収集停止 OPC ID 一覧 |
| 90034 | BUILD_DATE | STRING | 成果物のビルド日 (yyyy-MM-dd) |
| 90035 | DOCKER_CONTAINER_NAMES | STRING | 稼働中の Docker コンテナ名 (カンマ) |
すべてのシステムタグは1秒周期で
SendTaskが更新します。外部 SCADA でこれを購読すれば、現場に行かなくても Edge の状態を一目で把握できるダッシュボードを作成できます。
8. さらに詳しく
- すべてのキーの意味: app.properties 設定
- 変更後の再起動: 再起動 (
restart.sh) - バックアップ後の変更: バックアップ (
backup.sh) - システムログでの変更検証: システムログの表示
- REST API 認証 / キー発行: REST API ガイド