본문으로 건너뛰기

웹 UI 환경 설정

🎬 Configure the Edge · 21초 · 2026.09 기준 화면

게이트웨이의 설정(엣지 식별 · OPC UA · 데이터 전송 · 실행 모드 · 플랫폼 · AI · HA)을 웹에서 편집하는 화면입니다. 값은 결국 app.properties 로 저장됩니다.


1. 화면 구성 — 탭 7개짜리 폼​

게이트웨이 설정을 항목별 폼으로 편집하는 화면입니다. 값마다 무엇을 뜻하는지·기본값이 무엇인지가 입력칸 아래에 적혀 있습니다.

환경 설정 화면 — 번호는 읽는 순서

번호자리하는 일
①맨 위주의 패널 — 재시작 필요 · 필수 키 · 웹이 안 될 때의 대처
②그 아래탭 7개 — 엣지 · OPC UA 서버 · 데이터 전송 · 실행 모드 · 플랫폼 / API · AI 어시스턴트 · HA (이중 엣지)
③우측 상단저장 — 지금 탭만이 아니라 전체 값을 저장합니다
④본문그룹 헤더 — 한 탭 안이 다시 몇 개 묶음으로 갈립니다
⑤각 줄라벨 · 입력칸 · 설명과 기본값
⑥아래로그룹이 이어집니다 (PLC 수집기 · 진단 · REST API 인증 …)
예전의 «텍스트 편집기» 화면이 아닙니다

전에는 app.properties 원문을 CodeMirror 로 통째로 편집하는 화면이었습니다. 지금은 항목별 폼이고, 키를 직접 타이핑하지 않습니다. 파일을 손으로 고쳐야 하는 상황은 웹이 안 뜰 때뿐이고, 그때 고칠 자리는 주의 패널에 적힌 /opt/kopens/plantpulse-edge/conf/app.properties 입니다.

홈 카드 환경 설정 → 클릭, 또는 /ui/system/config.


2. 탭별로 무엇이 있나​

엣지​

그룹항목
엣지 식별edge.id · edge.site_id · 데이터 보존일(edge.ttl) · 24/7 운영(edge.always-on) · 플랫폼 콜백 주소(edge.base_url)
관리자 계정edge.admin_login_id · edge.admin_password
초기 등록 (CSV)edge.init — 부팅 때 /ui/connect/csv 로 올려 둔 OPC·태그 CSV 를 자동 등록
PLC 수집기수집 스레드 수 · 강제 연결 리셋(ms) · 연결 경고(ms) · 주소 스캔 경고(ms) · 주소맵 스캔 경고(ms)
진단edge.diagnostic.send.enabled — 플랫폼 진단 서버로 주기 전송
REST API 인증edge.rest.api.auth · edge.rest.api.key
플랫폼 콜백 주소는 비워 두면 자동으로 찾습니다

비워 두면 LAN1 → LAN2 → 호스트명 순으로 스스로 정합니다. NAT 뒤에 있거나 관리망을 따로 쓸 때만 명시하세요. 도메인·호스트명도 되지만, 플랫폼은 사설 IP 에만 인증서 검사를 느슨하게 하므로 이름으로 넣으면 자체 서명 인증서에서 TLS 가 막힐 수 있습니다.

OPC UA 서버​

엣지가 바깥에 내주는 OPC UA 서버입니다(외부 SCADA 가 붙는 쪽). 도메인 · TCP 포트 · TLS 포트 · 사용자 · 비밀번호 · 익명 접속 허용 · 보안 없는 엔드포인트.

데이터 전송​

그룹항목
MQTT 발행자mqtt.enable · 호스트 · 포트 · 사용자 · 비밀번호 · 토픽
Sparkplug Bsparkplug.enable · 그룹 ID · 엣지 노드 ID · 디바이스 전략 · QoS · bdSeq 경로 · 별칭 사용 · 명령 수신(sparkplug.cmd.enable)

실행 모드​

dev.mode 하나뿐입니다 — EDGE(플랫폼 연결) / STANDALONE(미연결) 둘뿐입니다. PLATFORM 을 넣으면 기동이 중단됩니다.

플랫폼 / API​

플랫폼 서버 접속 — 호스트 · 포트 · SSL · API 키 · 메시징 사용 여부와 브로커 주소.

저장하기 전에 «연결 테스트» 를 누르세요

이 탭에는 연결 테스트 버튼이 있습니다. 화면 설명 그대로 «저장하지 않고 지금 화면에 입력된 값으로 플랫폼 /api/v5 에 접속을 시험합니다». ping 은 인증이 필요 없으므로 API 키까지 함께 검증됩니다 — 틀린 키로 저장한 뒤 재시작하고 나서야 알아채는 일을 막아 줍니다.

AI 어시스턴트​

그룹항목
AI 인퍼런스 APIai.enabled · ai.api.base_url · ai.model · ai.api.key
튜닝ai.max_tool_steps · ai.timeout_ms · ai.bulk_read_limit

자세한 것은 AI 엣지 어시스턴트 를 보세요.

HA (이중 엣지)​

그룹항목
HA 페어ha.peer.enabled · 상대 호스트 · 확인 주기(ms)
PLC 쓰기 권한edge.plc.write_authority

3. 저장과 반영​

저장은 지금 보고 있는 탭만이 아니라 모든 탭의 값을 함께 씁니다 (POST /config/save). 저장은 즉시 되지만 런타임은 재시작 후 반영됩니다.

1. [저장] → 토스트 "재시작 필요"
2. 외부 SCADA / Sparkplug 수신측에 점검 공지 (앱만 재시작해도 30~90초는 끊깁니다)
3. 재시작 (/config/restart 또는 bin/restart.sh)
4. 1–2초 대기 → 화면 새로고침 → /api/v1/edge 로 새 값 확인

앱만 다시 띄우면 되는 항목은 restart-app.sh (30~90초)로 충분합니다. DB / MQTT 까지 다시 올려야 하는 항목(예: mqtt.enable 토글)은 전체 재시작 입니다.

필수 값을 비우면 다음 부팅이 실패합니다

화면 경고 그대로입니다 — 「필수 키를 비우거나 잘못된 값으로 저장하면 다음 부팅이 실패할 수 있습니다」. 웹이 안 뜨면 SSH 로 들어가 /opt/kopens/plantpulse-edge/conf/app.properties 를 직접 고치고 bin/restart.sh.

컨테이너 모드(2026.05+)에서는 저장 시 /etc/kopens/app.properties(호스트 바인드 마운트)가 갱신되고, 컨테이너 재시작으로 적용됩니다. HiveMQ 브로커의 auth.properties 는 entrypoint 가 매 부팅 때 mqtt.server.* 와 자동 동기화하므로 손댈 필요가 없습니다.

CLI 로도 됩니다.

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

4. 자주 빠지는 함정​

증상원인 / 해결
저장은 됐는데 변경이 반영 안 됨재시작 안 함. bin/restart.sh 호출
저장 후 웹 접속 불가필수 값이 비었거나 형식이 깨짐. SSH 로 수동 복구
플랫폼에 안 붙음연결 테스트를 먼저 눌러 보세요 — 호스트·포트·SSL·API 키를 한 번에 가려 줍니다
저장 직후 토스트 안 뜸통신 에러 → 네트워크 / Tomcat 상태 확인 (bin/ps.sh)

전체 키 목록과 기본값은 app.properties 레퍼런스 에 있습니다.


5. 시스템 태그 (자동 등록 / 90000–90037)​

게이트웨이 부팅 시 자기 자신의 시스템 연결(OPC_SYSTEM_<edge_id>)과 38개 시스템 태그(TAG_<edge_id>_90000 ~ _90037)를 OPC-UA 서버에 자동 등록합니다. 외부 SCADA / IIoT 측에서 이 태그를 구독하면 게이트웨이의 상태/식별/네트워크 정보를 그대로 받아갑니다.

5.1 식별 / 네트워크 (90000–90006)​

인덱스메트릭타입의미
90000HOSTNAMESTRING엣지 박스 호스트 이름
90001VERSIONSTRING엣지 SW 버전
90002NET_1_IPSTRING네트워크 포트 1 IP
90003NET_2_IPSTRING네트워크 포트 2 IP
90004NET_WIFI_IPSTRINGWi-Fi IP
90005NET_VPN_IPSTRINGVPN IP
90006PINGBOOLEAN플랫폼 도달 가능 여부

5.2 자원 (90007–90011)​

인덱스메트릭타입의미
90007CPU_USED_PERCENTDOUBLECPU 사용률 (%)
90008MEMORY_USED_PERCENTDOUBLE메모리 사용률 (%)
90009DISK_USED_PERCENTDOUBLE디스크 사용률 (%)
90010NETWORK_RX_BYTESLONG네트워크 수신 바이트
90011NETWORK_TX_BYTESLONG네트워크 송신 바이트

5.3 수집 / 전송 / 시스템 (90012–90027)​

인덱스메트릭타입의미
90012PLC_CON_CONNECTED_COUNTLONG연결된 연결 수
90013PLC_CON_DISCONNECTED_COUNTLONG끊긴 연결 수
90014PLC_VALUE_READ_SUCCESS_COUNTLONG태그 읽기 성공 건수
90015PLC_VALUE_READ_ERROR_COUNTLONG태그 읽기 실패 건수
90016SENDED_POINT_COUNTLONG플랫폼으로 보낸 포인트 수
90017SENDED_POINT_BYTESLONG플랫폼으로 보낸 바이트
90018MPSLONG초당 처리 포인트
90019TEMPERATUREINT장치 온도
90020OPC_COUNTINT등록된 연결 수
90021TAG_COUNTINT등록된 태그 수
90022SERVER_STARTED_TIMESTAMPLONG엣지 시작 시각 (epoch ms)
90023PLC_PING_FAILED_COUNTINTping 에 응답하지 않는 장치 수
90024SYSTEM_DB_TTLINT로컬 데이터 보관 기간 (TTL)
90025SYSTEM_TOTAL_DB_SIZELONG로컬 DB 크기
90026SYSTEM_ERROR_COUNTLONG엣지 오류 건수
90027THREAD_COUNTLONGJVM 스레드 수

5.4 운영 / 식별 (90028–90037)​

인덱스메트릭타입의미
90028CONNECTED_OPC_IDSSTRING연결된 연결 ID 목록
90029API_KEYSTRINGREST API 키 자리. 값은 늘 마스킹(******)되어 실제 키가 나가지 않습니다
90030REGISTED_OPC_IDSSTRING등록된 연결 ID 목록
90031DISCONNECTED_OPC_IDSSTRING끊긴 연결 ID 목록
90032COLLECTING_OPC_IDSSTRING수집 중인 연결 ID 목록
90033STOPPED_OPC_IDSSTRING수집 중지된 연결 ID 목록
90034BUILD_DATESTRING엣지 빌드일
90035DOCKER_CONTAINER_NAMESSTRING실행 중인 도커 컨테이너
90036NET_MGNT_IPSTRING관리 네트워크 IP
90037NET_GSM_IPSTRING셀룰러(GSM) IP

타입은 스키마 타입입니다. CPU · 메모리 · 디스크 사용률과 네트워크 바이트는 INT 로 발행됩니다. 시스템 태그는 10초 주기로 SendTask 가 갱신합니다. 외부 SCADA 가 이걸 구독하면 현장에 가지 않고도 엣지 상태를 한눈에 보는 대시보드를 만들 수 있어요.


6. 더 알아보기​