시스템 진단
배포본 버전, 의존 컴포넌트 연결 상태, 설정 위생 판정을 한 화면에서 확인
필요 권한: 전역 관리자
시스템 진단은 현재 실행 중인 배포본의 빌드 정보와 실제로 연결된 의존 컴포넌트 표시. 설치 직후, 업그레이드 직후, 이상 발생 시 가장 먼저 확인하는 화면. 비밀번호·액세스 키·토큰은 표시하지 않고, 주소는 scheme://host:port 까지만 표시.
화면은 네 영역으로 구성.
| 영역 | 내용 |
|---|---|
| 총평 | 정상 / 주의 필요 / 장애, 버전, 마지막 점검 시각과 소요 시간 |
| 배포 정보 | 프론트엔드·백엔드 각각의 커밋과 빌드 시각. 배포가 정상적으로 교체되었는지 확인. |
| 의존 컴포넌트 | PostgreSQL, 오브젝트 스토리지(버킷별), Prometheus, Alertmanager, Kubernetes, MLflow 트래킹, 컨테이너 레지스트리, pip·apt 패키지 프록시, 학습 러너, 추론 서빙, 빌드 관측, 엣지 플릿 스윕의 연결 상태와 부가 정보. 주의·실패인 카드에는 수정할 환경변수를 적은 안내 줄 표시. 테넌트마다 확인하는 카드 2개(테넌트 네임스페이스, MLflow 워크스페이스)도 여기에 포함. |
| 설정 위생 | 운영에서 문제가 되는 설정 판정. 조치가 필요한 항목만 카드로, 통과한 항목은 개수만 |
점검하기
- 화면을 열 때마다 모든 의존 서비스에 한 번씩 연결.
- 다시 확인하려면 오른쪽 위 다시 점검 클릭. 점검 부하가 크므로 자동 새로고침 없음.
- 아래로 스크롤해 설정 위생 확인. 카드마다 문제와 수정할 환경변수 표기.
시스템 진단: 설정 위생
테넌트별 두 가지 카드
아래 두 카드는 공용 설비가 아니라 활성 테넌트 각각을 확인. 모든 테넌트에 있으면 정상, 하나도 없으면 장애, 일부만 없으면 주의. 카드를 펼치면 테넌트별 결과 표시.
| 카드 | 확인 대상 | 없을 때 영향 | 해결 방법 |
|---|---|---|---|
| 테넌트 네임스페이스 | 클러스터에 tenant-<코드> 네임스페이스가 있고 Active 인지 | 그 테넌트의 학습·서빙 제출 거절. Kubernetes 카드는 노드만 확인하므로 정상으로 표시. | kubectl create namespace tenant-<코드>. 테넌트 생성 시와 런타임 게시 시 자동 생성되지만, 클러스터를 새로 구성했거나 직접 삭제했다면 없음. "삭제 중" 이면 테넌트 삭제 완료까지 대기. |
| MLflow 워크스페이스 | 테넌트마다 MLflow 워크스페이스가 있는지 | 학습은 끝까지 실행되어도 지표 기록과 모델 등록이 404 로 실패 | 앱을 재시작하면 모든 테넌트의 워크스페이스 재생성. 그 테넌트의 학습 제출 시에도 생성. geo-mlops-admin db reset 은 마지막에 워크스페이스를 다시 만들며, 이 단계가 실패하면 mlflow workspace provisioning skipped 출력. |
운영 서버에서 함께 정리할 항목.
- HTTPS 로 서비스한다면
GEO_MLOPS_AUTH_COOKIE_SECURE=true - 데모 역할 계정 시딩 비활성화:
GEO_MLOPS_RBAC_BOOTSTRAP_ROLE_PASSWORD비우기(기본값 그대로면 WARNING) - 개발용 가짜(mock) DataOps 서버 비활성화:
GEO_MLOPS_MOCK_DATAOPS_ENABLED=false - Alertmanager 웹훅 공유 시크릿 설정:
GEO_MLOPS_ALERTMANAGER_WEBHOOK_TOKEN - CORS 허용 출처는 와일드카드(
*) 대신 실제 주소로:GEO_MLOPS_CORS_ALLOW_ORIGINS