Skip to content

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 --+--------------+
 |                                               |
 +----------------------------------------------+

데이터 흐름:

  1. 고객사 각 노드에 Exporter를 설치하여 시스템 메트릭을 수집합니다.
  2. 마스터 노드의 Prometheus가 각 Exporter를 스크랩하고, Bridge가 수집된 메트릭을 기가플롭스 클라우드로 전달합니다.
  3. 기가플롭스 클라우드에서 메트릭을 저장/분석하여 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 설치 대상
Docker20.10+ (마스터 노드에만)Bridge 실행용
Java11+ (마스터 노드에만)GigaFlopsInstaller 실행용
권한sudo 또는 rootExporter 설치, 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/metrics

Java 설치 안내

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 포털에서 라이선스 정보를 확인합니다.

확인 절차

  1. 브라우저에서 https://prism.giga-flops.com 접속
  2. 기가플롭스로부터 발급받은 관리자 계정으로 로그인
    • 기업 코드 (Organization Code)
    • 아이디 (발급받은 관리자 ID)
    • 비밀번호 (발급받은 비밀번호)
  3. 로그인 후 관리자 메뉴 → 라이선스 정보 확인
  4. 다음 정보를 기록 (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. 1단계: 마스터 노드에서 MASTER 모드 실행 (Prometheus + Bridge 설치)
  2. 2단계: 각 컴퓨트 노드에서 EXPORTER 모드 실행 (Exporter 설치)

파일 정보

  • 파일명: GigaFlopsInstaller.jar
  • 실행 환경: Java 11+ 필요
  • GPU 자동 감지: Installer가 nvidia-smi 명령어를 자동 실행하여 NVIDIA GPU 유무를 판단합니다. GPU가 없으면 DCGM Exporter 설치를 자동 건너뜁니다.

마스터 노드 설치

마스터 노드에 Prometheus와 Bridge를 설치합니다.

설치 절차

  1. Installer 파일이 있는 디렉터리로 이동합니다.
  2. MASTER 모드로 설치를 실행합니다.
  3. 설치 완료까지 약 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
BridgeDocker 컨테이너(gigaflops-bridge) 또는 /opt/gigaflops/bridge/
설치 로그/var/log/gigaflops-installer.log

주의

  • sudo 권한으로 실행해야 합니다 (systemd 서비스 등록 필요).
  • 이미 설치된 환경에서 재실행하면 기존 설정을 덮어씁니다. 업그레이드 시에도 동일 명령을 사용하세요.
  • --org-code--license-key는 라이선스 확인 단계에서 확인한 값을 정확히 입력하세요.

컴퓨트 노드 설치

각 컴퓨트 노드에 Exporter를 설치합니다.

설치 절차

  1. 각 컴퓨트 노드에 Installer 파일을 복사합니다.
  2. EXPORTER 모드로 설치를 실행합니다.
  3. 모든 컴퓨트 노드에서 반복합니다.
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 prometheusactive
Bridge 기동docker ps | grep bridgeUp
Node Exportercurl http://localhost:9100/metrics | head메트릭 텍스트
DCGM Exportercurl http://localhost:9400/metrics | headGPU 메트릭
IPMI Exportercurl http://localhost:9290/metrics | head하드웨어 센서
Prometheus 타겟curl http://localhost:9090/api/v1/targets타겟 목록 JSON
클라우드 연결curl https://api.giga-flops.com/health200 OK

  • 서비스가 inactive/failed인 경우: journalctl -u <서비스명> --no-pager -n 50으로 로그를 확인하세요.
  • Prometheus 타겟 확인: 브라우저에서 http://<마스터IP>:9090/targets에 접속하여 각 Exporter가 "UP" 상태인지 확인합니다.

포털 접속

접속 절차

  1. 웹 브라우저를 엽니다 (Chrome, Edge, Firefox 권장).
  2. 주소창에 https://prism.giga-flops.com을 입력합니다.
  3. 로그인 정보를 입력합니다.
    • 기업 코드 (Organization Code): 기가플롭스로부터 발급받은 코드
    • 아이디: 관리자 ID
    • 비밀번호: 관리자 비밀번호
  4. 로그인 성공 후 대시보드 메인 화면으로 진입합니다.

대시보드 확인 사항

확인 항목기대 결과문제 시
서버 카드 표시등록된 모든 서버가 카드로 표시Exporter 설치 상태 확인
서버 상태ONLINE (녹색)Exporter/네트워크 확인
CPU/메모리 수치0%~100% 실시간 갱신데이터 지연 시 Bridge 로그 확인
GPU 정보 (해당 시)GPU 온도, 사용률 표시DCGM Exporter 확인

데이터 표시 대기 시간

Exporter 설치 → Prometheus 스크랩 → Bridge 전달 → 대시보드 표시까지 약 1~3분 소요됩니다. 설치 직후 대시보드가 비어 있을 수 있습니다. 2~3분 후 새로고침하세요.

서버가 보이지 않는 경우

다음 순서로 확인합니다.

  1. 컴퓨트 노드에서 Exporter 실행 중인지 확인
    bash
    systemctl status node_exporter
  2. 마스터 노드의 Prometheus에 타겟이 잡히는지 확인
    • http://<마스터IP>:9090/targets
  3. Bridge가 데이터를 전달하고 있는지 확인
    bash
    docker logs gigaflops-bridge --tail 20
  4. 클라우드 연결 상태 확인
    bash
    curl https://api.giga-flops.com/health

브라우저 호환성

  • Chrome 90+, Edge 90+, Firefox 88+, Safari 14+ 권장
  • Internet Explorer는 지원하지 않습니다.

트러블슈팅

일반 문제

#증상원인해결 방법
1Bridge 연결 실패방화벽 443 아웃바운드 차단, 프록시 미설정, Bridge 컨테이너 중지curl https://api.giga-flops.com/health로 연결 확인. 방화벽 443 허용. docker restart gigaflops-bridge로 재시작
2Exporter 미수신 (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으로 연락하여 라이선스 갱신
6Prometheus 타겟 없음 (0 active targets)http_sd_configs URL 오류prometheus.yml의 http_sd_configs URL 확인, systemctl restart prometheus
7Installer 실행 오류Java 미설치, 버전 부족, 권한 부족java -version 확인 (11+ 필요), sudo로 실행
8GPU 메트릭만 없음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으로 보내주세요.

  1. 기업 코드 (Organization Code)
  2. 문제 발생 노드의 OS 및 버전 (cat /etc/os-release)
  3. Bridge 로그: docker logs gigaflops-bridge > bridge-log.txt 2>&1
  4. Prometheus 로그: journalctl -u prometheus --no-pager > prom-log.txt
  5. Installer 로그: /var/log/gigaflops-installer.log

PRISM Server Monitoring Platform