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

ホーム画面 (/ui/main) — カード / アクション / 更新周期 完全ガイド

ゲートウェイ Web UI のメインページです。1画面でゲートウェイの すべての 運用状態をカード形式で表示します。カードは 1秒周期 でバックエンド(/monitor/bean)から値を再取得して更新され、Sparkplug B カード のみ別途 5秒周期 (/api/v1/transfer) で更新されます。

左上の PlantPulse ロゴ、または直接 http://<gateway>/ui/main へアクセスします。

2026.05+ コンテナモードのカード
  • MQTT / Sparkplug B / OPC UA サーバー カード: app.properties*.enable / host / port / user キーを直接 lookup します。install.sh がボックスごとに random パスワードを生成するため、user が空欄であったり、ボックスごとに異なる表示になります。
  • Docker カード: /var/run/docker.sock のマウントが必要です。plantpulse-edge 自身は self-exclude され、list に表示されません (start/stop/delete をブロックする安全策)。
  • ネットワーク カード (LAN1/LAN2/WiFi/GSM/VPN/管理): edge.net.<role>.iface の値でマッピングします。 dev ボックスのように enp1s0 / enp2s0 / tailscale0 のような systemd predictable 名の場合は app.properties に直接設定します (install.sh の LAN1_IFACE=... env で自動反映可能)。
  • コンポーネントヘルスを1行で確認: curl http://localhost/api/v1/system/health (認証不要、8 コンポーネントの status map + 503 分岐)。

カード一覧 (計 ~30個)

横6列のグリッドです。カードの種類は3つです:

種類意味
action_box (白背景、大きいアイコン)グレー枠線クリックすると該当メニューへ移動
black_box (黒背景)グレー文字変化しないゲートウェイ情報
gray_box (白背景、グレーヘッダー)ライトグレーリアルタイム監視 — 値が1秒ごとに更新

1. 上部 アクション / 情報 (1行目)

1.1 엣지 정보 (black_box)

何を表示するか: このゲートウェイの 変化しない アイデンティティ情報です。起動時に一度だけ測定され、画面に固定されます。

フィールド意味出典
HOST名OS の hostname (例: pe-edge-01)EdgeContext.hostname
O/SOS 名 + アーキテクチャ (例: Linux (amd64))os.name + os.arch
カーネルカーネルバージョン (例: 5.14.0-...)os.version
バージョンゲートウェイ SW バージョン (例: V2026.05.08)app.properties
ビルド日成果物のビルド日 (例: 2026-05-08)BUILD_DATE

⚠ HOST名、O/S 情報はゲートウェイ再起動後に OS が変わった場合のみ変化します。

1.2 프로토콜 연결 하기 (action_box)

→ クリックで /ui/connect/connect へ移動します。新しい PLC / OPC-UA / MQTT / シミュレータ接続を追加する画面です。

1.3 연결된 목록 (N) (action_box)

→ クリックで /ui/connect/list。括弧内の N は現在登録されている OPC(接続) 数 (monitor.opc_count) です。

1.4 애플리케이션 (action_box)

/ui/apps。Docker ベースのユーザーアプリケーションの起動/停止/管理を行います。

1.5 노-코드 플로우 (action_box)

/ui/flow (Node-RED 埋め込み)。 詳しい使い方: フロー (Node-RED)

1.6 환경 설정 (action_box)

/ui/system/configapp.properties の直接編集 + システム再起動 / リブート / バックアップ / 一時ファイル整理など。


2. ゲートウェイ識別 (3 cards)

2.1 엣지 시작 시간 (gray_box)

表示内容: 最後にゲートウェイ (Tomcat) が起動した正確な時刻 — yyyy년 MM월 dd일 [a] HH시 mm분 ss초 (KST)。 再起動時点が疑わしい場合は、この値で「最後の再起動」を確認してください。

2.2 엣지 ID (gray_box)

表示内容: このゲートウェイの固有 ID (例: EDGE_00303)。Sparkplug、REST API、OPC-UA ノードツリーなど すべての識別 の基準です。app.propertiesedge.id から取得されます。

2.3 배포 사이트 ID (gray_box)

表示内容: この Edge がどのサイト(工場 / ライン)に配置されているか (例: SITE_00001)。外部 SCADA / Sparkplug の Group ID 決定に使用されます。app.propertiessite.id から取得されます。


3. ネットワーク状態 (6 cards)

各カードは リンク状態アイコン + IP、または DISCONNECTED(グレー) を表示します。

3.1 인터넷 (gray_box)

ゲートウェイが外部インターネットへ ping 可能かどうか。アイコンの色:

  • 緑の globe: 正常に接続
  • 赤の globe: 接続失敗

ping 対象は app.propertiesmonitor.ping.targets (例: 8.8.8.8) です。

3.2 이더넷 (gray_box) — 2つに分割

  • 左: 1 WAN (外部網 NIC、net_1_ip)
  • 右: 2 PLC (PLC 網 NIC、net_2_ip)

各欄の色は インターネット ping の結果 に応じて一緒に変化します (簡略化された表示)。

3.3 WIFI (gray_box)

wifi-1 アイコン + IP、または wifi-slash グレー (DISCONNECTED)。

3.4 3G/4G/5G (gray_box)

GSM モデムの IP または DISCONNECTED。SIM カードアイコン。

3.5 VPN (gray_box)

shield-check アイコン。VPN 接続時は IP を表示、切断時はグレー + DISCONNECTED。

3.6 관리 포트 (gray_box)

wrench アイコン。USB / 別途管理 NIC の IP。一般的にサイトネットワークから分離された診断用チャネルです。


4. システムリソース (5 cards)

4.1 온도 (gray_box)

CPU 温度。90°C 以上で赤色 + temperature-high アイコン (危険)、それ以下は緑 + temperature-low。産業環境における ファン詰まり / 高温アラーム の一次シグナルです。

4.2 CPU (gray_box)

ゲージ(0–100%) + 総コア数。JustGage ライブラリ。1秒更新。

継続的に 90% を超える場合は、PLC ポーリング周期 / タグ数の見直しが必要です。

4.3 물리 메모리 (gray_box)

ゲージ + 사용 / 전체 (KB/MB/GB 自動単位)。swap とは別の RSS 使用量です。

4.4 가상 메모리 (gray_box)

スワップ(swap) 使用量。ゲージ + 사용 / 전체。通常は 0–10% が正常、継続的に 30% を超える場合は RAM 不足の可能性があります。

4.5 디스크 (gray_box)

/data1 (またはゲートウェイホーム) の使用率。ゲージ + 사용 / 전체

90% を超えたら直ちに 整理 / クリーンアップ (clean.sh / node-cleanup.sh) 手順を実行してください。


5. ネットワークトラフィック (1 card)

5.1 네트워크 사용량 (gray_box)

  • ダウンロード (RX) — 累積受信バイト
  • アップロード (TX) — 累積送信バイト

KB/MB/GB 自動単位。起動後の累積値です。


6. 収集 / 処理 (4 cards)

6.1 연결 | 태그 건수 (gray_box)

  • 上段の大きい数字: 接続 (OPC) 数 (opc_count)
  • 下段の大きい数字: タグ数 (tag_count)

ゲートウェイが認識している OPC/タグの 全体 カウントです。システムタグ (EDGE_*) も含みます。

6.2 PLC 연결 및 수집 상태 (gray_box) — 2x4 マトリクス

左側 (接続)意味
🟢 接続TCP/UDP 接続 OK の OPC 数 (plc_con_connected_count)
🔴 切断接続失敗の OPC 数 (plc_con_disconnected_count)
右側 (収集)意味
🟢 正常収集開始 + read 成功中 (plc_scan_start_count)
🟧 異常収集は開始したが一定時間 read 失敗 (plc_scan_not_collect_count)
停止ユーザーが停止を押した OPC (plc_scan_stop_count)

接続と収集は別物です: TCP が生きていても (接続 ✅)、何らかの理由で read が入ってこない場合は 収集異常 に分類されます。

6.3 PLC 읽기/쓰기 결과 (gray_box)

収集器/REST API が累積した read/write カウンタ。K/M/B 単位に圧縮して表示します。

成功失敗
読み取り (R)plc_value_read_success_countplc_value_read_error_count
書き込み (W)plc_value_write_success_countplc_value_write_error_count

右上の ↻ 更新アイコンをクリック/connect/reset-read-error を呼び出し → 失敗カウンタのみ 0 に初期化。アラーム整理後、次のサイクルから新たにカウントしたい場合に使用します。

6.4 MPS (gray_box)

Messages Per Second — 1秒あたりに処理されるデータポイント数 (monitor.mps)。 すぐ下に sparkline (直近のトレンドを示すミニチャート)。負荷の変化を一目で把握できます。

普段のサイトの mps が 100 なのに突然 0 に落ちた場合 → PLC 接続または収集の異常です。


7. 転送 / 保存 (5 cards)

7.1 대기 큐 (gray_box)

転送待機中のポイントキューのサイズ (queue_size)。

通常は 0–数十。外部転送が詰まると (Sparkplug 切断など) 急速に増加 → ディスクキュー (queue_disk_size) に溢れます。このカードが継続的に増加する場合は外部通信の点検が必要です。

7.2 포인트 전송 건수 (gray_box)

起動後に 外部へ転送成功 した累積ポイント数 (sended_point_count)。

7.3 포인트 전송량 (gray_box)

起動後の累積送信バイト (sended_point_bytes)。自動単位。データ使用量の請求 算定の参考になります。

7.4 데이터 저장량 (gray_box)

Cassandra の keyspace pe に保存された時系列の総サイズ (MBytes 入力 → 自動単位変換)。ディスク残容量と併せて確認してください。

7.5 데이터 저장 기간 (gray_box)

tm_tag_point の TTL (Time-To-Live) 日数 (system_db_ttl、デフォルト 30 日)。この日数を過ぎると自動的に期限切れとなります。app.properties で変更します。


8. システムエラー (1 card)

8.1 시스템 오류 (오늘) (gray_box)

本日(00:00–現在)発生した ERROR レベルのシステムログ件数 (system_error_count)。赤い大きな数字で表示されます。 数字をクリック → /system/log/list へ移動し、実際のログ本文を確認できます。


9. 外部サービス / 連携 (5 cards)

各カードは ステータスバー (緑/赤/グレー) + 接続情報テーブルで構成されます。

9.1 플랫폼 API 서버 (gray_box)

上位 PlantPulse Platform API との接続状態。右上の外部リンクアイコンをクリックすると、新規ウィンドウでそのサーバーに接続します。

意味
バー🟢 接続成功 / 🔴 接続失敗 (monitor.api)
HOST/IPserver.host
PORTserver.port
USERserver.username

9.2 OPC-UA 서버 (gray_box)

ゲートウェイ 内蔵 OPC-UA サーバーの情報。外部 SCADA はここに接続してタグを購読します。

意味
バー🟢 有効化 (サーバーは常時稼働)
HOST/IPopc.ua.server.host
PORTopc.ua.server.tcp.port (デフォルト 12000)
USERopc.ua.server.user

詳しいノードツリー / 時系列チャート: OPC-UA ノードビューアの使用

9.3 MQTT 서버 (gray_box)

ゲートウェイ 内蔵 HiveMQ の情報 + Sparkplug などを発行するトピック。

意味
バー🟢 有効化 / ⬜ 無効化 (mqtt.enable)
HOST/IPmqtt.server.host
PORTmqtt.server.port (デフォルト 1883)
USERmqtt.server.user
TOPICmqtt.server.topic (Sparkplug spBv1.0/... またはユーザートピック)

9.4 Sparkplug B (gray_box)

Sparkplug 発行コンポーネントのリアルタイム状態 (5秒更新、/api/v1/transferSparkplug 項目)。

意味
バー🟢 有効化 (接続済み) / 🔴 接続切断 (有効だが broker 接続が切断) / ⬜ 無効化 (sparkplug.enable=false)
GROUPSparkplug Group ID (例: Plant1)
NODEEdge Node ID (例: EDGE_00303)
セッション #bdSeq (デバイス birth/death シーケンス — 再接続回数)
メッセージ #seq (現在の発行メッセージ番号 — 0–255 循環)

メッセージ # が止まっている場合は送出が停止しています。セッション # が頻繁に増加する場合は broker 接続が不安定です。

9.5 도커 (gray_box)

Docker デーモンの状態 + ユーザーアプリケーションコンテナの統計。

意味
バー🟢 稼働中 / 🔴 停止 (monitor.docker_on)
カウント[ 살아있는 / 전체 ] コンテナ数 (docker_container_up_count / docker_container_total_count)

/ui/apps で登録したアプリケーションがすべて稼働しているかを一目で確認できます。


10. フッター (全ページ共通)

画面下部に以下が表示されます。

  • PlantPulse Edge テキスト + ライセンス
  • ソフトウェアアップグレード アイコン — クリックで upgrade.sh を呼び出し (確認ダイアログの後)
    • アイコン横のバッジ:
      • 赤い "アップグレード可能!" → ダウンロードサーバーに新バージョンあり
      • グレーの "ダウンロードサーバーに接続できません" → 外部網 / product.kopens.io へのアクセス失敗
      • (バッジなし) → 現在のバージョンが最新
  • 外部ポートショートカット — その他の外部サービス (例: Grafana 3000) を新規ウィンドウで開きます

内部的には /config/upgrade/check が server-to-server で https://product.kopens.io/.../VERSION.JSON を取得して比較 → CORS エラーなしにクリーンにバッジを表示します。


11. 更新周期 / データ出典の整理

領域更新周期エンドポイント
ゲージ / リソース / ネットワーク / カウンタ / キュー / 保存量 / エラー1秒GET /monitor/bean
Sparkplug B カード5秒GET /api/v1/transfer
アップグレードバッジページ読み込み時に1回GET /config/upgrade/check
黒い情報カード (HOST名/OS/バージョンなど)更新されない (ページ読み込み時点の値)EdgeContext (サーバー起動時に決定)

12. よく見るパターン

画面のシグナル疑い / 対応
温度 赤 (90°C↑)ファン詰まり / 環境温度 — 直ちに点検
CPU 90%+ が継続ポーリング周期が速すぎる / タグ数が過多
ディスク 90%+整理 / クリーンアップ — clean.sh + node-cleanup.sh
PLC 切断 カウントが急増PLC 網ケーブル / スイッチ / PLC 電源
収集異常 > 0接続は OK だが read 失敗 — アドレス形式 / PLC ファームウェアを点検
MPS が 0 に落ちるすべての PLC が read 失敗、または収集器が停止
待機キュー が増え続ける外部転送 (Sparkplug / MQTT) が詰まっている — 9.3/9.4 カードを確認
システムエラー の赤い数字クリック → /system/log/list で本文を確認
Sparkplug メッセージ # が変わらない送出停止 — app.propertiessparkplug.* を点検
Dockersystemctl status docker でデーモンの状態を確認

13. さらに詳しく