다크 모드
PRISM SaaS 설치 가이드
PRISM SaaS 서비스를 이용하기 위한 고객사 인프라 설치 가이드입니다. SaaS 모델에서는 Exporter, Prometheus, Bridge만 고객사 인프라에 설치하며, PRISM 서버/DB/Dashboard는 기가플롭스 클라우드에서 호스팅됩니다.
대상 독자
본 문서는 고객사 시스템 관리자 및 인프라 담당자를 대상으로 합니다.
아키텍처 개요
SaaS 모델에서는 고객사 인프라의 메트릭이 기가플롭스 클라우드로 전달되어 PRISM 포털에서 대시보드를 제공합니다.
고객사 인프라 (Customer Site) GigaFlops Cloud
+----------------------------------------------+ +----------------------------+
| | | |
| [컴퓨트 노드 1] [컴퓨트 노드 2] [...] | | prism-data (:11052) |
| Node Exporter Node Exporter | | | |
| :9100 :9100 | | v |
| DCGM Exporter DCGM Exporter | | Redis / PostgreSQL / |
| :9400 (GPU) :9400 (GPU) | | MongoDB |
| IPMI Exporter IPMI Exporter | | | |
| :9290 :9290 | | v |
| | | | | PRISM Dashboard |
| +------+---------+ | | (:12062) |
| | | | |
| v | +----------------------------+
| [마스터 노드] | ^
| Prometheus (:9090) | |
| | | HTTPS 443
| v | |
| Bridge (Docker) ----- api.giga-flops.com --+--------------+
| |
+----------------------------------------------+데이터 흐름:
- 고객사 각 노드에 Exporter를 설치하여 시스템 메트릭을 수집합니다.
- 마스터 노드의 Prometheus가 각 Exporter를 스크랩하고, Bridge가 수집된 메트릭을 기가플롭스 클라우드로 전달합니다.
- 기가플롭스 클라우드에서 메트릭을 저장/분석하여 PRISM 포털(prism.giga-flops.com)에서 대시보드를 제공합니다.
온프레미스와의 차이점
- 온프레미스: 모든 구성 요소가 고객사 내부에 설치됨 (인터넷 불필요)
- SaaS: Exporter/Prometheus/Bridge만 고객사에 설치, 나머지는 클라우드에서 운영
- 데이터 전달 방향은 단방향 아웃바운드(고객사 → 기가플롭스)만 필요합니다.
사전 요구사항
시스템 요구사항
| 항목 | 요구사항 | 비고 |
|---|---|---|
| 네트워크 | 아웃바운드 HTTPS 443 → api.giga-flops.com | 프록시 환경 시 HTTPS 터널링 허용 필요 |
| OS (마스터 노드) | Ubuntu 20.04+ / CentOS 7+ / RHEL 8+ / Rocky 8+ | 마스터 노드에 Prometheus + Bridge 설치 |
| OS (컴퓨트 노드) | Linux 배포판 (systemd 지원) | Exporter 설치 대상 |
| Docker | 20.10+ (마스터 노드에만) | Bridge 실행용 |
| Java | 11+ (마스터 노드에만) | GigaFlopsInstaller 실행용 |
| 권한 | sudo 또는 root | Exporter 설치, systemd 서비스 등록 |
| 디스크 | 마스터 노드 50GB+ 여유 | Prometheus 데이터 저장 |
네트워크 요구사항
필수 아웃바운드 통신:
마스터 노드 --> api.giga-flops.com:443 (HTTPS)확인 방법:
bash
curl -v https://api.giga-flops.com/health주의
- 아웃바운드 443만 열면 됩니다 (인바운드 개방 불필요)
- 기업 프록시 사용 시 HTTPS 터널링(CONNECT) 허용 필요
- SSL Inspection이 활성화된 경우
api.giga-flops.com을 예외 처리해주세요
내부 네트워크 요구사항:
마스터 노드 --> 각 컴퓨트 노드:9100 (Node Exporter)
마스터 노드 --> 각 GPU 노드:9400 (DCGM Exporter)
마스터 노드 --> 각 노드:9290 (IPMI Exporter, 선택)확인 방법:
bash
curl http://<컴퓨트노드IP>:9100/metricsJava 설치 안내
bash
# Ubuntu
sudo apt install -y openjdk-11-jre-headless
# CentOS / RHEL
sudo yum install -y java-11-openjdk-headless
# 확인
java -version사전 확인 체크리스트
- [ ] 마스터 노드에서
api.giga-flops.com:443연결 가능 - [ ] 마스터 노드에서 모든 컴퓨트 노드로 SSH 접속 가능
- [ ] Java 11+ 설치 확인
- [ ] Docker 20.10+ 설치 확인
- [ ] sudo 권한 보유
라이선스 확인
설치를 시작하기 전에 PRISM 포털에서 라이선스 정보를 확인합니다.
확인 절차
- 브라우저에서
https://prism.giga-flops.com접속 - 기가플롭스로부터 발급받은 관리자 계정으로 로그인
- 기업 코드 (Organization Code)
- 아이디 (발급받은 관리자 ID)
- 비밀번호 (발급받은 비밀번호)
- 로그인 후 관리자 메뉴 → 라이선스 정보 확인
- 다음 정보를 기록 (Installer 설치 시 필요):
- 기업 코드 (Organization Code)
- 라이선스 키 (License Key)
라이선스 유형
| 항목 | 설명 |
|---|---|
| 기업 코드 | 고객사를 식별하는 고유 코드 |
| 라이선스 키 | 인증에 사용되는 키 (형식: XXXX-XXXX-XXXX-XXXX) |
| 최대 서버 수 | 라이선스에 등록 가능한 최대 서버 대수 |
| 유효 기간 | 라이선스 만료일 (갱신 필요 시 사전 안내) |
주의
- 라이선스 키는 보안 정보입니다. 외부에 공유하지 마세요.
- 라이선스가 만료되면 신규 데이터 수집이 중단됩니다. 기존 대시보드는 조회 가능합니다.
- 라이선스에 등록된 서버 수를 초과하면 추가 서버가 등록되지 않습니다.
- 라이선스 키를 분실한 경우 기가플롭스 고객지원(
support@giga-flops.com)으로 문의하세요.
인스톨러 다운로드
다운로드 방법
bash
# 방법 1: 다운로드 센터
# 브라우저에서 https://downloads.giga-flops.com 접속
# GigaFlopsInstaller.jar 다운로드
# 방법 2: 직접 다운로드 (CLI)
wget https://downloads.giga-flops.com/GigaFlopsInstaller.jar
# 또는
curl -O https://downloads.giga-flops.com/GigaFlopsInstaller.jar설치 모드
| 모드 | 대상 노드 | 설치되는 구성 요소 | 사용 시나리오 |
|---|---|---|---|
| ALL | 마스터 노드 | Prometheus + Bridge + Node Exporter + DCGM Exporter(GPU 시) + IPMI Exporter | 마스터 노드가 컴퓨트 노드도 겸하는 경우 |
| MASTER | 마스터 노드 | Prometheus + Bridge | 마스터 노드가 관리 전용인 경우 |
| EXPORTER | 컴퓨트 노드 | Node Exporter + DCGM Exporter(GPU 시) + IPMI Exporter | 각 컴퓨트 노드에 Exporter만 설치 |
| CUSTOM | 모든 노드 | 사용자가 개별 선택 | 특정 Exporter만 설치하고 싶을 때 |
권장 설치 순서
- 1단계: 마스터 노드에서 MASTER 모드 실행 (Prometheus + Bridge 설치)
- 2단계: 각 컴퓨트 노드에서 EXPORTER 모드 실행 (Exporter 설치)
파일 정보
- 파일명:
GigaFlopsInstaller.jar - 실행 환경: Java 11+ 필요
- GPU 자동 감지: Installer가
nvidia-smi명령어를 자동 실행하여 NVIDIA GPU 유무를 판단합니다. GPU가 없으면 DCGM Exporter 설치를 자동 건너뜁니다.
마스터 노드 설치
마스터 노드에 Prometheus와 Bridge를 설치합니다.
설치 절차
- Installer 파일이 있는 디렉터리로 이동합니다.
- MASTER 모드로 설치를 실행합니다.
- 설치 완료까지 약 2~5분 소요됩니다.
bash
# 1. Installer 파일이 있는 디렉터리로 이동
cd /path/to/installer
# 2. MASTER 모드로 설치 실행
# --org-code : PRISM 포털에서 확인한 기업 코드
# --license-key : PRISM 포털에서 확인한 라이선스 키
sudo java -jar GigaFlopsInstaller.jar \
--mode=MASTER \
--org-code=XXXXX \
--license-key=XXXXX설치 과정에서 수행되는 작업
GigaFlopsInstaller (MASTER 모드)
|
+-- 1. 라이선스 검증 (오프라인 HMAC 검증 + 온라인 확인)
|
+-- 2. Prometheus 설치
| +-- 바이너리 설치 (/usr/local/bin/prometheus)
| +-- prometheus.yml 생성 (http_sd_configs 자동 설정)
| +-- systemd 서비스 등록 및 시작
|
+-- 3. Bridge 설치
| +-- Docker 컨테이너 또는 JAR 배포
| +-- bridge-config.yml 생성 (Prometheus URL, 폴링 주기)
| +-- 기가플롭스 클라우드 연결 확인
|
+-- 4. Docker 로그 로테이션 설정 (max-size 50MB, max-file 5)
|
+-- 5. 설치 완료 요약 출력Bridge 연결 확인
설치 완료 후 Bridge가 기가플롭스 클라우드와 정상 통신하는지 확인합니다.
bash
# Bridge 로그 확인
docker logs gigaflops-bridge --tail 20
# 또는
journalctl -u gigaflops-bridge --no-pager -n 20"Data forwarded successfully" 류의 메시지가 보이면 정상입니다.
설치 경로 참고
| 구성 요소 | 경로 |
|---|---|
| Prometheus 바이너리 | /usr/local/bin/prometheus |
| Prometheus 설정 | /etc/prometheus/prometheus.yml |
| Bridge | Docker 컨테이너(gigaflops-bridge) 또는 /opt/gigaflops/bridge/ |
| 설치 로그 | /var/log/gigaflops-installer.log |
주의
- sudo 권한으로 실행해야 합니다 (systemd 서비스 등록 필요).
- 이미 설치된 환경에서 재실행하면 기존 설정을 덮어씁니다. 업그레이드 시에도 동일 명령을 사용하세요.
--org-code와--license-key는 라이선스 확인 단계에서 확인한 값을 정확히 입력하세요.
컴퓨트 노드 설치
각 컴퓨트 노드에 Exporter를 설치합니다.
설치 절차
- 각 컴퓨트 노드에 Installer 파일을 복사합니다.
- EXPORTER 모드로 설치를 실행합니다.
- 모든 컴퓨트 노드에서 반복합니다.
bash
# 1. 각 컴퓨트 노드에 Installer 파일 복사
scp GigaFlopsInstaller.jar user@<컴퓨트노드IP>:/tmp/
# 2. 각 컴퓨트 노드에서 EXPORTER 모드로 설치
# --master-ip : 마스터 노드의 IP 주소 (Prometheus가 설치된 노드)
ssh user@<컴퓨트노드IP>
sudo java -jar /tmp/GigaFlopsInstaller.jar \
--mode=EXPORTER \
--master-ip=192.168.0.1설치 과정에서 수행되는 작업
GigaFlopsInstaller (EXPORTER 모드)
|
+-- 1. Node Exporter 설치 (필수)
| +-- 바이너리 다운로드/설치
| +-- systemd 서비스 등록 (:9100)
|
+-- 2. GPU 감지 (nvidia-smi 실행)
| +-- GPU 있음 --> DCGM Exporter 설치 (Docker, :9400)
| +-- GPU 없음 --> 건너뜀 (에러 없음)
|
+-- 3. IPMI 감지
| +-- ipmitool 있음 --> IPMI Exporter 설치 (:9290)
| +-- ipmitool 없음 --> 건너뜀
|
+-- 4. Prometheus 타겟 자동 등록
+-- 마스터 노드의 PRISM에 자신의 IP와 포트 알림설치 확인 (각 노드에서)
bash
# Node Exporter 확인
systemctl status node_exporter
curl http://localhost:9100/metrics | head -5
# DCGM Exporter 확인 (GPU 노드만)
docker ps | grep dcgm
curl http://localhost:9400/metrics | head -5
# IPMI Exporter 확인 (해당 노드만)
systemctl status ipmi_exporter
curl http://localhost:9290/metrics | head -5대규모 설치 팁
여러 노드에 한번에 설치하는 예시입니다.
bash
# 여러 노드에 한번에 설치하는 예시 (for 루프)
NODES="node1 node2 node3 node4 node5"
MASTER_IP="192.168.0.1"
for NODE in $NODES; do
echo "=== Installing on $NODE ==="
scp GigaFlopsInstaller.jar $NODE:/tmp/
ssh $NODE "sudo java -jar /tmp/GigaFlopsInstaller.jar \
--mode=EXPORTER --master-ip=$MASTER_IP"
done팁
- Exporter 모드에서는
--org-code,--license-key가 불필요합니다 (마스터가 관리). - DCGM Exporter는 Docker로 실행되므로, GPU 노드에도 Docker 설치가 필요합니다.
- NVIDIA Container Toolkit이 사전 설치되어 있어야 DCGM Exporter가 GPU에 접근할 수 있습니다.
- 100대 이상 대규모 클러스터는 Ansible/pdsh 등 자동화 도구 활용을 권장합니다.
설치 결과 확인
Installer 설치 완료 출력 예시
============================================
GigaFlops Installer - 설치 완료
============================================
모드: MASTER
기업 코드: XXXXX
설치 항목:
[OK] Prometheus :9090 (systemd: active)
[OK] Bridge :-- (Docker: running)
[OK] Docker Log Rotation (max-size: 50MB, max-file: 5)
PRISM 포털: https://prism.giga-flops.com
관리자 ID: (발급된 계정)
============================================서비스 상태 확인
마스터 노드:
bash
# Prometheus 서비스 상태
systemctl status prometheus
# Active: active (running) 이어야 합니다.
# Bridge 컨테이너 상태
docker ps | grep bridge
# STATUS가 "Up" 이어야 합니다.컴퓨트 노드:
bash
# Node Exporter
systemctl status node_exporter
# DCGM Exporter (GPU 노드)
docker ps | grep dcgm
# IPMI Exporter (해당 노드)
systemctl status ipmi_exporter포트 확인
bash
# 마스터 노드
ss -tlnp | grep -E '9090|9100'
# 컴퓨트 노드
ss -tlnp | grep -E '9100|9400|9290'종합 확인 테이블
| 확인 항목 | 명령 | 기대 결과 |
|---|---|---|
| Prometheus 기동 | systemctl is-active prometheus | active |
| Bridge 기동 | docker ps | grep bridge | Up |
| Node Exporter | curl http://localhost:9100/metrics | head | 메트릭 텍스트 |
| DCGM Exporter | curl http://localhost:9400/metrics | head | GPU 메트릭 |
| IPMI Exporter | curl http://localhost:9290/metrics | head | 하드웨어 센서 |
| Prometheus 타겟 | curl http://localhost:9090/api/v1/targets | 타겟 목록 JSON |
| 클라우드 연결 | curl https://api.giga-flops.com/health | 200 OK |
팁
- 서비스가 inactive/failed인 경우:
journalctl -u <서비스명> --no-pager -n 50으로 로그를 확인하세요. - Prometheus 타겟 확인: 브라우저에서
http://<마스터IP>:9090/targets에 접속하여 각 Exporter가 "UP" 상태인지 확인합니다.
포털 접속
접속 절차
- 웹 브라우저를 엽니다 (Chrome, Edge, Firefox 권장).
- 주소창에
https://prism.giga-flops.com을 입력합니다. - 로그인 정보를 입력합니다.
- 기업 코드 (Organization Code): 기가플롭스로부터 발급받은 코드
- 아이디: 관리자 ID
- 비밀번호: 관리자 비밀번호
- 로그인 성공 후 대시보드 메인 화면으로 진입합니다.
대시보드 확인 사항
| 확인 항목 | 기대 결과 | 문제 시 |
|---|---|---|
| 서버 카드 표시 | 등록된 모든 서버가 카드로 표시 | Exporter 설치 상태 확인 |
| 서버 상태 | ONLINE (녹색) | Exporter/네트워크 확인 |
| CPU/메모리 수치 | 0%~100% 실시간 갱신 | 데이터 지연 시 Bridge 로그 확인 |
| GPU 정보 (해당 시) | GPU 온도, 사용률 표시 | DCGM Exporter 확인 |
데이터 표시 대기 시간
Exporter 설치 → Prometheus 스크랩 → Bridge 전달 → 대시보드 표시까지 약 1~3분 소요됩니다. 설치 직후 대시보드가 비어 있을 수 있습니다. 2~3분 후 새로고침하세요.
서버가 보이지 않는 경우
다음 순서로 확인합니다.
- 컴퓨트 노드에서 Exporter 실행 중인지 확인bash
systemctl status node_exporter - 마스터 노드의 Prometheus에 타겟이 잡히는지 확인
http://<마스터IP>:9090/targets
- Bridge가 데이터를 전달하고 있는지 확인bash
docker logs gigaflops-bridge --tail 20 - 클라우드 연결 상태 확인bash
curl https://api.giga-flops.com/health
브라우저 호환성
- Chrome 90+, Edge 90+, Firefox 88+, Safari 14+ 권장
- Internet Explorer는 지원하지 않습니다.
트러블슈팅
일반 문제
| # | 증상 | 원인 | 해결 방법 |
|---|---|---|---|
| 1 | Bridge 연결 실패 | 방화벽 443 아웃바운드 차단, 프록시 미설정, Bridge 컨테이너 중지 | curl https://api.giga-flops.com/health로 연결 확인. 방화벽 443 허용. docker restart gigaflops-bridge로 재시작 |
| 2 | Exporter 미수신 (Prometheus 타겟 DOWN) | Exporter 미설치/중지, 방화벽 차단, IP 오류 | 대상 노드에서 systemctl status node_exporter, 마스터에서 curl http://<노드IP>:9100/metrics 확인 |
| 3 | 데이터 지연 | Bridge 폴링 주기, 네트워크 지연, Prometheus 과부하 | Bridge 로그에서 전달 주기 확인, scrape_interval 확인 (기본 15초) |
| 4 | 포털 접속 불가 | DNS 미해석, 기업 프록시/방화벽 차단 | nslookup prism.giga-flops.com, 기업 IT팀에 도메인 허용 요청 |
| 5 | 라이선스 만료 | 계약 기간 종료 | support@giga-flops.com으로 연락하여 라이선스 갱신 |
| 6 | Prometheus 타겟 없음 (0 active targets) | http_sd_configs URL 오류 | prometheus.yml의 http_sd_configs URL 확인, systemctl restart prometheus |
| 7 | Installer 실행 오류 | Java 미설치, 버전 부족, 권한 부족 | java -version 확인 (11+ 필요), sudo로 실행 |
| 8 | GPU 메트릭만 없음 | DCGM Exporter 미설치, nvidia-smi 오류 | 대상 노드에서 nvidia-smi 확인, docker logs dcgm-exporter 확인 |
Bridge 에러 코드
| 에러 코드 | 의미 | 대처 |
|---|---|---|
| CONN_REFUSED | 클라우드 서비스 연결 거부 | 방화벽 443 확인, 클라우드 상태 확인 |
| AUTH_FAILED | 라이선스 인증 실패 | 기업 코드/라이선스 키 재확인 |
| TIMEOUT | 응답 시간 초과 | 네트워크 상태 확인, 재시도 |
| DATA_TOO_LARGE | 전송 데이터 초과 | 서버 수가 라이선스 한도 초과 여부 확인 |
| PROM_UNREACHABLE | 로컬 Prometheus 연결 불가 | Prometheus 서비스 상태 확인 |
공통 디버깅 명령
bash
# Bridge 로그 확인 (마스터 노드)
docker logs gigaflops-bridge --tail 50
# Prometheus 로그 확인
journalctl -u prometheus --no-pager -n 50
# Node Exporter 로그 확인 (컴퓨트 노드)
journalctl -u node_exporter --no-pager -n 50
# 네트워크 연결 테스트 (마스터 → 클라우드)
curl -v https://api.giga-flops.com/health
# 네트워크 연결 테스트 (마스터 → 컴퓨트 노드)
curl http://<노드IP>:9100/metrics | head -5기술 지원 문의
문제 해결이 되지 않는 경우 다음 정보를 수집하여 support@giga-flops.com으로 보내주세요.
- 기업 코드 (Organization Code)
- 문제 발생 노드의 OS 및 버전 (
cat /etc/os-release) - Bridge 로그:
docker logs gigaflops-bridge > bridge-log.txt 2>&1 - Prometheus 로그:
journalctl -u prometheus --no-pager > prom-log.txt - Installer 로그:
/var/log/gigaflops-installer.log
