メインコンテンツまでスキップ

環境設定 (/ui/system/config) — app.properties 編集

ゲートウェイの すべての 設定 (DB / MQTT / OPC-UA / サイト / モニタリング / ユーザーなど) が含まれる app.properties ファイルを、Web から直接編集する画面です。

ホームカード 環境設定 → クリック、または /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サイト識別
上位 Platformserver.host / server.port / server.usernamePlantPulse Platform API
server.api_key (旧 server.apikey フォールバック)トークンベース認証用トークン (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.anonymousAnonymous 許可 (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 が失敗 します。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.shstart.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)

インデックスメトリックタイプ意味
90000HOSTNAMESTRINGOS hostname
90001VERSIONSTRINGゲートウェイ SW バージョン
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 コンテナ名 (カンマ)

すべてのシステムタグは1秒周期で SendTask が更新します。外部 SCADA でこれを購読すれば、現場に行かなくても Edge の状態を一目で把握できるダッシュボードを作成できます。


8. さらに詳しく