설치 직후 체크리스트 + 첫 사용자 셋업
설치 (빠른 설치, 양산 라인 설치, 오프라인 설치) 가 끝났다면 다음 순서로 게이트웨이를 운영 준비 상태 로 전환합니다.
2026.05 미만 native 박스는 아래의 native 절을 참고하세요. 신규 설치의 기본값은 컨테이너 모드입니다.
1. 1분 헬스체크
컨테이너 모드 (2026.05+, 권장)
sudo bash /opt/kopens/install/bin/status.sh
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool
기대:
- container running + healthy
- 10개 포트 listening (80, 443, 1883, 1884, 6379, 7799, 9042, 1880, 12000, 12443)
/api/v1/system/version→ build_date / image_tag / container_mode=true/api/v1/system/health→ 200, components 모두 UP
pe-status 모든 항목 ✓ 면 다음 절. 일부 ✗ 면 컨테이너 모드 운영 가이드 의
"장애 대응" 섹션 또는 /opt/kopens/install/RUNBOOK.md 참조.
운영 투입 전에는 프로덕션 인수 기준의 acceptance log 도 남깁니다.
Native 모드 (legacy)
sudo -i
PE_HOME=/opt/kopens/plantpulse-edge
# (1) 모든 컴포넌트 살아있나
$PE_HOME/bin/ps.sh
# (2) 시스템 헬스 (HTTP 200)
curl -sf http://127.0.0.1/api/v1/system/health | head
# (3) Cassandra 연결 가능 여부
$PE_HOME/bin/node-info.sh | head -5
# (4) MQTT 브로커 listen 중
ss -lntp 2>/dev/null | grep -E ':1883'
# (5) OPC-UA 서버 listen 중
ss -lntp 2>/dev/null | grep -E ':12000'
5 항목 모두 OK 면 다음 절로. 하나라도 실패면 진단 / 점검 → log-viewer 로 원인 파악.
2. 첫 로그인 + 비밀번호 변경
| 단계 | 동작 |
|---|---|
| 1 | 브라우저로 https://<게이트웨이-IP>/ui/main 접속 |
| 2 | 로그인 화면 → 초기 계정 (admin / <초기 비밀번호>) |
| 3 | 우상단 톱니바퀴 아이콘 → 환경 설정 (/ui/system/config) |
| 4 | edge.admin_password 에 새 비밀번호 입력 → 저장 |
| 5 | 재시작 — 저장만으로는 적용되지 않습니다 |
초기 비밀번호는 /etc/kopens/credentials.txt(root 0600)에 저장됩니다.
운영 환경에 기본 비밀번호로 그대로 두는 것은 보안 위험 — 첫 30분 안에 변경하세요.
같은 화면에서 REST API 키·MQTT·OPC UA 비밀번호도 함께 바꿉니다. 커미셔닝 때 한 번에 끝내세요 — 비밀번호 · API 키 변경.
3. 사이트 / 엣지 식별 확인
홈 카드 엣지 ID / 배포 사이트 ID 가 의도한 값인지 확인:
| 카드 | 권장 형식 | 예 |
|---|---|---|
| 엣지 ID | EDGE_<숫자4자리> 또는 사이트 컨벤션 | EDGE_00303 |
| 배포 사이트 ID | SITE_<숫자5자리> 또는 <라인>_<위치> | SITE_00001 / LINE_01_DJ |
값이 잘못됐으면:
| 모드 | 설정 원본 | 반영 |
|---|---|---|
| 컨테이너 | /etc/kopens/app.properties 또는 UI 환경 설정 | sudo systemctl restart plantpulse-edge.service |
| legacy native | $PE_HOME/conf/app.properties 또는 UI 환경 설정 | bin/restart.sh |
같은 사이트에 여러 게이트웨이 가 있으면
edge.id는 반드시 고유 — Sparkplug bdSeq 충돌 방지.
4. 외부 망 / 플랫폼 도달성
홈 카드 5개 동시 확인:
| 카드 | 정상 |
|---|---|
| 인터넷 | 🟢 정상 연결 |
| 이더넷 1 WAN | 🟢 정상 IP |
| 이더넷 2 PLC | 🟢 정상 IP (사설망) |
| 플랫폼 API 서버 | 🟢 연결 성공 |
| 도커 | 🟢 운영중 |
플랫폼 API 가 🔴 연결 실패 면 — 환경 설정 의 server.host / server.port / server.username 점검 + 사내 방화벽 확인.
5. 첫 PLC 연결 + 검증
가장 단순한 테스트 — 외부 테스트 데이터 부터:
| 단계 | 동작 |
|---|---|
| 1 | 외부 plantpulse-simulator 또는 테스트 태그 준비 |
| 2 | 홈 → 프로토콜 연결 하기 → 실제 프로토콜 카드 선택 |
| 3 | 테스트용 OPC / 태그 등록 |
| 4 | /ui/connect/list 에서 수집 시작 |
| 5 | /ui/main 또는 /ui/point 에서 값 유입 확인 |
여기까지 OK 면 게이트웨이 자체는 100% 동작. 실제 PLC 연결은 새 PLC 연결 추가 → PLC 주소 입력 가이드.
6. 정기 백업 자동화
신규 게이트웨이 운영 시작 직전 cron 백업 등록 — 실패 비용 ↓.
컨테이너 모드
sudo tee /etc/cron.d/plantpulse-edge-backup > /dev/null << 'EOF'
# 매일 새벽 3시 백업 + 일요일 새벽 4시 30일 초과 백업 삭제
0 3 * * * root /opt/kopens/install/bin/backup.sh > /dev/null 2>&1
0 4 * * 0 root find /data1/pp-backups -name 'pe-backup-*.tar.zst' -mtime +30 -delete
EOF
sudo bash /opt/kopens/install/bin/backup.sh
ls -lh /data1/pp-backups/
Legacy native
sudo tee /etc/cron.d/plantpulse-backup > /dev/null << 'EOF'
# 매일 새벽 1시 백업 + 30일 이상 자동 정리
0 1 * * * root /opt/kopens/plantpulse-edge/bin/backup.sh >>/var/log/pp-backup.log 2>&1
30 1 * * * root find /data1/pp-backup -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +
EOF
다음날 새벽 1시 후 ls /data1/pp-backup/ 에 신규 디렉토리 생기는지 확인.
상세: 백업 / 복구
7. 외부 NAS / S3 미러링 (재해 복구)
백업이 게이트웨이와 같은 디스크에만 있으면 재해 복구 효과 없음. 외부 미러 강력 권장:
# 컨테이너 백업 예시
LATEST=$(ls -t /data1/pp-backups/pe-backup-*.tar.zst | head -1)
rsync -av "$LATEST" "$LATEST.sha256" nas:/backup/edge/
8. (선택) 사용자 / 권한 설정
기본 admin 외에 사용자별 계정 이 필요하면:
| 시나리오 | 추천 |
|---|---|
| 1인 운영 | 기본 admin 만 사용, 비밀번호만 변경 |
| 다인 운영 / 외부 협력사 | 사용자 관리 화면 활성화 + 역할 분리 (admin / operator / viewer) — 현재 P0 로드맵 |
다인 운영 RBAC 는 다음 분기 로드맵에서 정식 활성화 예정.
9. 설치 후 권장 매뉴얼 읽기 순서
- 홈 화면 카드 / 액션 가이드 — 30 카드 의미
- 새 PLC 연결 추가
- 태그 등록 + PLC 주소 입력 (44개 드라이버 완전 가이드)
- Sparkplug B 발행 — 외부 SCADA 연동 시
- 플로우 (Node-RED) — 자동화 / 알람 / 외부 통합
- 운영 — 한눈에 보기 — 시작/중지/재시작/백업/업그레이드/진단
10. 인수 테스트 체크리스트 (납품 / SI 파트너용)
신규 사이트 인수 시 다음 항목 모두 통과:
- 컨테이너 모드면
status.sh전체 OK, native 면bin/ps.sh5 자바/Node 프로세스 확인 -
/api/v1/system/versionHTTP 200 + 의도한edge_id/site_id/container_mode반환 -
/api/v1/system/healthHTTP 200 + components UP - 프로덕션 인수 기준의 acceptance log 생성 + sha256 기록
-
/api/v1/monitoringHTTP 200 +cpu_used_percent< 30%,memory_used_percent< 60% - 홈 카드 30개 모두 표시 + 1초 갱신 동작
- 시뮬레이터 OPC 1 개 등록 → 시작 →
/ui/opcua트리에서 차트 정상 - 실제 PLC 1 대 등록 → 수집 상태 🟢 정상 + 마지막 값 갱신
- 컨테이너
systemctl restart plantpulse-edge.service또는 nativebin/restart.sh후 PLC 재연결 자동 (auto_collect=true) - 백업 cron 등록 + 첫 백업 파일/디렉토리 생성 확인
- 첫 백업
.tar.zst와.sha256를 외부 백업 위치로 복사 - 외부 SCADA / Sparkplug 수신측 메시지 도착 확인
- 비밀번호 변경 완료 (admin 기본 비밀번호 변경)
-
/etc/kopens/credentials.txt권한0600 root확인 + 비밀번호 전달 절차 완료 - log-viewer 로 30초 모니터링 —
SEVERE/ERROR급 로그 없음 - 디스크 여유 30%+ (
df -h /data1) - OS NTP 동기 (
timedatectl) 정상 - 운영팀에 게이트웨이 IP / 접근 정보 전달 + 인수인계서 서명
11. 더 알아보기
- 설치 한눈에: 설치 — 한눈에 보기
- 빠른 설치: 빠른 설치 (원라인)
- legacy native H/W 설치: (legacy) H/W 전체 설치
- 폐쇄망: 오프라인 / 폐쇄망 설치
- 네트워크 구성: 네트워크 구성 (NIC 배치)
- 프로덕션 인수 기준: 프로덕션 인수 기준
- 운영 / 운영 시나리오: 운영 — 한눈에 보기