Edge Fleet
현장 장비 목록과 장비별 7개 탭(개요·모델·레코드·추론 결과·파일·명령·정책), 모델 배포와 확인, 장비 등록, Offline 차단
필요 권한: 조회
공장·현장에 설치한 장비(Edge) 관리 화면. 장비는 Edge SDK로 플랫폼에 연결되어 주기적으로 하트비트(동작 중임을 알리는 신호와 CPU·메모리 사용률) 전송, 수집한 데이터·추론 결과·파일 업로드, 플랫폼의 명령을 조회해 실행.
조회는 모든 멤버, 재시작·Offline·명령 보내기·모델 캐시 삭제·로그 조회는 operate(OPERATOR·ADMIN), 모델 배포·전환·다시 적용은 deploy(OPERATOR·ADMIN), 배포 되돌리기는 rollback(ADMIN), 장비 등록·삭제·위치 편집·토큰·정책 저장은 settings(ADMIN).
장비 목록
| 번호 | 영역 | 설명 |
|---|---|---|
| ① | 검색 | 장비 이름·장소로 검색. |
| ② | 상태 필터 | 전체 · 연결 대기 · 정상 · 비정상 · 미설치. |
| ③ | 디바이스 등록 | 새 장비 등록과 토큰 발급(settings). |
| ④ | 상태 | 장비 상태. 서버에서 차단한 장비에는 빨간 Offline 차단됨 추가 표시. |
| ⑤ | 대기 | 장비에 누적되어 아직 전송하지 못한 건수. 최근 24시간 이내에 보존 한도를 넘어 폐기된 건이 있으면 빨간 −N 표시. 이 값을 보고하지 않는 구버전 에이전트는 —. |
| ⑥ | 동기화 | 장비의 전송 상태: 대기, 전송 중, 일시정지, 오프라인, 인증 실패. 마우스를 올리면 마지막 전송 오류 표시. |
그 밖의 열은 디바이스, 위치, 마지막 하트비트(하트비트가 한 번도 없으면 없음), CPU·GPU·MEM(마지막 하트비트의 사용률), 모델(장비가 실행 중이라고 보고한 모델과 배포 일치 여부 배지. 배포한 적도 보고한 적도 없으면 —). 디바이스와 마지막 하트비트 머리를 누르면 정렬. 줄을 누르면 장비 상세로 이동.
장비 등록
- 디바이스 등록 클릭.
- 디바이스 ID(필수)와 위치(선택) 입력, 토큰 스코프(이 토큰으로 할 수 있는 일의 범위) 선택. 스코프 종류는 텔레메트리(하트비트·수집 레코드 전송), 추론(추론 결과), 컨테이너(이미지 내려받기), 모델(모델 조회), 파일(오프라인 동안 누적된 파일 업로드), 기본값은 모두 선택. 하나 이상 선택 필요.
디바이스 등록: 디바이스 ID·위치와 토큰 스코프. 등록하면 토큰을 한 번만 표시 - 등록 하면 장비 토큰이 한 번만 표시. 복사해 장비 설정에 입력. 창을 닫으면 다시 볼 수 없고, 분실 시 토큰 회전(새 토큰으로 교체) 필요.
장비 상세: 개요
| 번호 | 영역 | 설명 |
|---|---|---|
| ① | 제목 | 장비 ID, 상태, 차단된 장비면 Offline 차단됨, 실시간(변화가 즉시 반영됨) 또는 폴링 10초(10초마다 다시 조회함), 배포한 모델과 실행 중인 모델이 다르면 불일치, 최근 배포가 실패했으면 실패, 장비가 아직 수신하지 않은 명령이 있으면 대기 명령 N. |
| ② | 동작 | 재시작(operate, 확인 창을 거쳐 재시작 명령을 큐에 추가함), Offline(operate, 서버에서 차단. 차단 중에는 빨간 Offline 해제 로 전환됨), 삭제(settings, 유효한 토큰을 먼저 회수해야 활성화됨. 하트비트·레코드·추론 결과·명령 기록이 함께 삭제되고, 업로드한 파일은 데이터셋과 수집 데이터에 남음). |
| ③ | 탭 | 개요 · 모델 · 레코드 · 추론 결과 · 파일 · 명령 · 정책. 선택한 탭은 주소(?tab=)에 남음. |
| ④ | 디바이스 정보 | OS, SDK·에이전트 버전, 위치(위치 편집, settings), 마지막 하트비트, 정책 리비전(정책의 버전 번호). 장비가 적용한 리비전과 같으면 N (적용됨), 다르면 N (장치는 M — 적용 대기). |
| ⑤ | 리소스 | CPU·GPU·MEM·DISK 사용률(30초 갱신). |
| ⑥ | 쌓인 데이터 | 대기 건수·용량, 가장 오래된 항목, 24시간 폐기, 동기화 상태, 마지막 전송. 마지막 전송 오류가 있으면 빨간 글씨로 표시. |
| ⑦ | 토큰 관리 | settings 권한이 있을 때만 표시. 회전(현재 토큰을 즉시 무효화하고 새 토큰을 한 번만 표시), 회수(토큰 폐기. 장비가 즉시 인증에 실패), 스코프 보기·편집(활성 토큰이 있을 때만. 토큰은 그대로 사용). 회전·회수는 확인 창을 거침. |
그 밖의 카드:
- 로컬 모델: 장비가 보고한 모델과 버전의 요약. 실행 중인 버전에는 실행 중, 장비에 있지만 올리지 못한 버전에는 로드 실패, 장비의 프로그램이 SDK 바깥에서 돌리는 모델에는 외부 표시. 제목 옆에 배포 일치 여부 배지. 배포·전환·되돌리기는 모델 탭에서 관리 로 이동해 모델 탭에서 수행.
- 수집기: 장비에 구성된 수집기와 상태. 오류 발생 시 오류 로 표시, 마우스를 올리면 사유 표시.
- 컨테이너: 장비에 설치된 이미지. 레지스트리 주소를 해석할 수 있으면 컨테이너 레지스트리로 연결.
- 로그(최근 하트비트)(
operate): 하트비트 내용을 최신순으로 표시. 더 보기 로 더 오래된 항목을 불러옴.
장비 상세: 모델
장비에 어떤 모델을 배포했고, 장비가 실제로 그 모델을 돌리는지 확인하고, 배포·되돌리기·캐시 정리를 하는 탭.
| 번호 | 영역 | 설명 |
|---|---|---|
| ① | 배포 현황 | 배포 일치 여부 배지(아래 표), 기대 모델(가장 최근 배포)과 그 진행 상태, 실행 중 모델(장비 보고), 확인 시각(장비의 하트비트가 기대 모델을 활성으로 보고한 시각), 마지막 보고 시각. 최근 배포가 실패했으면 오류 문구를 빨간 글씨로 표시. |
| ② | 동작 | 모델 배포(deploy, 모델 레지스트리에서 모델과 버전을 선택), 불일치 일 때 다시 적용(deploy, 기대 모델을 다시 배포), 되돌리기(rollback, 가장 최근 배포를 요청할 때 장비가 돌리고 있던 모델로 새 배포). 세 가지 모두 확인 창을 거침. |
| ③ | 장비 보유 모델 | 장비가 보고한 모델 전부. 열은 모델, 프레임워크, 과업, 상태(실행 중 · 보관 · 올리는 중 · 로드 실패. 로드 실패는 자세히 로 오류 확인), 출처(캐시 는 SDK 가 내려받은 것, 외부 는 장비 프로그램이 직접 돌리는 것). 실행 중이 아닌 캐시 버전에는 이 버전으로 전환(deploy, 그 버전으로 배포), 휴지통 아이콘(operate, 장비 캐시에서 삭제하는 명령. 실행 중이거나 기대 모델인 버전은 비활성). |
| ④ | 배포 이력 | 이 장비에 내린 배포. 열은 모델, 종류(배포 · 되돌리기 · 다시 적용), 상태, 요청자, 요청·확인 시각, 진행. 진행의 자세히 는 단계 타임라인(대기 중 → 전달됨 → 적용됨 → 확인됨), 이전 모델, 장비가 보고한 결과, 명령 탭 링크. 위의 선택 상자로 상태 필터링. |
배포 일치 여부:
| 배지 | 값 | 뜻 |
|---|---|---|
| 배포 없음 | none | 이 장비에 배포한 적 없음 |
| 적용 중 | pending | 가장 최근 배포가 장비로 가는 중 |
| 일치 | in_sync | 확인됐고 마지막 하트비트도 그 모델을 실행 중으로 보고 |
| 불일치 | drift | 확인된 뒤 장비가 다른 모델을 실행 중(장비에서 직접 바꿨거나 재시작 뒤 다른 버전이 올라옴). 다시 적용 으로 복구 |
| 실패 | failed | 가장 최근 배포 실패. 오류를 확인하고 다시 배포 |
배포 한 건의 상태:
| 배지 | 값 | 뜻 |
|---|---|---|
| 대기 중 | queued | 명령이 큐에 있고 장비가 아직 수신하지 않음 |
| 전달됨 | delivered | 장비가 명령을 수신함 |
| 적용됨 | applied | 장비가 내려받아 활성화했다고 보고함 |
| 확인됨 | confirmed | 장비의 하트비트가 그 버전을 실행 중으로 보고함. 사람이 누르는 확인 없음 |
| 실패 | failed | 장비가 실패를 보고했거나(내려받기 실패, 로드 실패), 명령이 만료됨 |
| 대체됨 | superseded | 같은 장비에 새 배포가 들어와 이 배포는 취소됨 |
나머지 탭
레코드: 장비가 업로드한 구조화 레코드(발생 시각·종류·우선순위·내용). 내용은 한 줄로 줄여 표시, 자세히 를 누르면 JSON 전체가 펼쳐짐. 새 레코드가 계속 추가되며, 최신 고정 을 비활성화하면(버튼이 최신 고정 꺼짐 으로 변경됨) 목록 갱신 중지. 중지된 동안 수신된 건수가 버튼에 표시되고, 누르면 최신 목록으로 복귀. 아래 더 보기 는 더 오래된 레코드를 불러오며 목록 갱신 중지. 위의 선택 상자로 종류 필터링. 선택지는 불러온 레코드에 포함된 종류.
추론 결과: 장비에서 실행한 추론의 시각·모델·지연(ms)·결과(JSON). 모델을 누르면 모델 레지스트리의 그 버전으로 이동. 최신 고정 과 더 보기 는 레코드 탭과 동일.
파일: 오프라인 동안 누적되었다가 업로드된 파일. 열은 파일(이름과 수집기가 지정한 종류), 크기, 청크(수신한 조각 수/전체), 상태(실패면 사유 표시), 보관 위치, 갱신 시각. 데이터셋을 지정해 업로드한 파일은 데이터셋 열기, 지정하지 않은 파일은 수집 데이터에서 보기 로 연결. 위의 선택 상자로 전송 상태 필터링. 모든 장비의 파일은 수집 데이터 화면에서 통합 조회.
명령: 장비에 전송한 명령과 결과. 장비는 보통 라우터(NAT) 뒤에 있어 서버가 먼저 연결 불가. 명령은 대기열(큐)에 추가되고, 장비가 다음에 서버를 조회할 때 수신. 표의 열은 명령, 상태, 큐잉·전달 시각, 결과. 결과는 한 줄 요약(실패면 오류 문구), 자세히 로 인자와 결과 전체 확인. 정책 저장 시 set_policy 명령이 자동으로 추가되어 이 표에 함께 표시.
| 번호 | 영역 | 설명 |
|---|---|---|
| ① | 명령 종류 | 핑(동작 여부 확인), 재시작(에이전트를 재시작. 확인 창을 거침), 재동기화(실패로 처리된 항목을 다시 전송 대기 상태로 전환), 모델 내려받기(모델 레지스트리에서 모델 이름과 버전을 차례로 선택해 내려받고 활성화. 모델 기능이 비활성화되었거나 목록을 불러오지 못하면 이름·버전을 직접 입력. 배포 이력에 남기려면 모델 탭 사용). 모델 탭이 만드는 activate_model(모델 전환)·remove_model(모델 캐시 삭제)도 이 표에 함께 표시. |
| ② | 명령 보내기 | 큐에 추가(operate). 모델 내려받기는 이름과 버전을 모두 선택해야 활성화. |
명령 표 위의 선택 상자로 상태 필터링.
정책: 장비의 동작 설정. ADMIN(settings)만 수정 가능. 다른 역할에게는 입력칸이 읽기 전용이고 "정책은 테넌트 ADMIN 만 바꿀 수 있습니다." 표시. ① 정책 저장 을 누르면 정책 리비전(버전 번호)이 증가하고, 장비는 다음 하트비트 응답에서 변경을 감지해 새 정책을 내려받음. 하트비트를 기다리지 않도록 set_policy 명령도 함께 큐에 추가.
| 항목 | 기본 | 설명 |
|---|---|---|
| 하트비트 주기 (초) | 30 | 서버의 오프라인 판정 기준(180초)보다 충분히 짧아야 함. |
| 보존 기간 (일) | 30 | 장비에 저장된 데이터를 보존하는 기간. 0 이면 제한 없음. |
| 보존 용량 (GiB) | 50 | 장비에 저장할 최대 용량. 초과 시 우선순위가 낮고 오래된 데이터부터 폐기. |
| 전송 속도 상한 (B/s) | 0 | 0 이면 무제한. |
| CPU 일시정지 임계 (%) | 85 | CPU 가 이 값을 넘으면 전송을 일시 중지. 0 이면 검사하지 않음. |
| 전송 허용 시간대 | (비움) | 지정하지 않으면 항상 허용. 예: 22:00-06:00 (쉼표로 여러 개). |
기본값은 서버 설정 edge_default_policy 로 변경 가능. 표 아래에 이 화면에서 변경하지 않는 나머지 정책(명령 폴링 주기, 디스크 최소 여유, 업로드 배치 크기, 업로드 청크 크기, 동시 전송 수, 긴급 우선순위 기준)을 읽기 전용으로 표시.
상태·배지
장비 상태:
| 배지 | 값 | 뜻 |
|---|---|---|
| 연결 대기 | PENDING | 등록만 됨. 하트비트가 한 번도 수신되지 않음 |
| 정상 | ACTIVE | 최근 180초 이내에 하트비트가 수신됨 |
| 비정상 | UNHEALTHY | 마지막 하트비트가 180초보다 오래됨. 이때 WARNING 경보 생성. 하트비트가 다시 수신되면 정상으로 복귀하고 경보도 자동 해소. |
| 미설치 | UNINSTALLED | 설치가 해제된 장비로 표시됨. 현재는 화면이나 API 에 이 상태로 변경하는 기능 없음 |
명령 상태:
| 배지 | 값 | 뜻 |
|---|---|---|
| 대기 중 | queued | 장비의 수신 대기 |
| 전달됨 | delivered | 장비가 수신함 |
| 완료 | acked | 장비가 성공을 보고함 |
| 실패 | failed | 장비가 실패를 보고함 |
| 만료 | expired | 24시간 이내에 수신되지 않았거나, 수신한 뒤 24시간 안에 결과를 보고하지 않음(장시간 전원이 꺼져 있던 장비) |
파일 전송 상태: 전송 중 · 조립 중 · 완료 · 실패. 7일 동안 전송 중이나 조립 중에 머문 파일은 실패로 전환.
서버는 기본값으로 레코드·추론 결과를 발생 시각부터 90일, 종료된 명령을 90일, 종료된 파일 전송 기록을 30일 뒤 삭제. 전송 기록이 삭제되어도 데이터셋이나 수집 데이터에 저장된 파일은 남음.
Offline 차단
장비 연결을 일시적으로 차단하려면(점검, 의심스러운 동작) 개요의 Offline 클릭.