Skip to content

PRISM 온프레미스 설치 매뉴얼

PRISM 온프레미스 환경 설치를 위한 기술 매뉴얼입니다. 온프레미스 모드에서는 모든 구성 요소가 고객사 내부 서버에 설치되며, 외부 인터넷 연결 없이 독립적으로 운영할 수 있습니다.

대상 독자

본 문서는 시스템 관리자 및 인프라 담당자를 대상으로 합니다.

시스템 요구사항

하드웨어 요구사항

항목최소 사양권장 사양
OSUbuntu 20.04+ / CentOS 7+ / RHEL 8+Rocky 8+ / AlmaLinux 8+
CPU4코어 이상8코어 이상
RAM16GB 이상32GB 이상
디스크100GB 이상 (SSD 권장)200GB+ NVMe SSD
Docker20.10 이상최신 안정 버전
Docker Composev2.0 이상최신 안정 버전
네트워크고정 IP, 방화벽 포트 개방-

주의

  • CentOS 7은 2024-06-30부로 EOL되었습니다. Rocky Linux 8+ 또는 AlmaLinux 8+으로의 전환을 권장합니다.
  • 데이터베이스(PostgreSQL, MongoDB)와 Redis 영속화 데이터가 저장되므로, 모니터링 대상 서버 수에 비례하여 디스크 용량을 산정해야 합니다.

추가 권장 설정

항목설명
시간 동기화NTP 또는 chrony 설정 필수 (메트릭 타임스탬프 정합성)
SELinuxPermissive 또는 Disabled 권장 (Docker 호환)
Swap비활성화 권장 (Redis 성능)

규모별 사양 안내

위 사양은 모니터링 대상 서버 50대 이하 기준입니다. 100대 이상 운영 시 CPU 16코어, RAM 64GB 이상을 권장합니다. 폐쇄망(Air-Gapped) 환경에서는 Docker 이미지를 사전에 tar 파일로 반입해야 합니다.

아키텍처 개요

온프레미스 모드에서는 모든 구성 요소가 단일 마스터 노드에서 Docker Compose로 실행됩니다.

 [각 노드]                    [마스터 노드 (PRISM 서버)]
 +-----------------+          +--------------------------------------------------+
 | Node Exporter   |          |                                                  |
 |   :9100         |---+      |  Prometheus (:9090)                              |
 +-----------------+   |      |    |                                             |
 | DCGM Exporter   |   +----->|    | http_sd_configs                             |
 |   :9400 (GPU)   |---+      |    v                                             |
 +-----------------+   |      |  prism-data (:11052)                             |
 | IPMI Exporter   |---+      |    |   |   |                                     |
 |   :9290         |          |    v   v   v                                     |
 +-----------------+          |  Redis PostgreSQL MongoDB                        |
 | Slurm Exporter  |---+      |  :6379  :5432    :27017                          |
 |   :9341         |   |      |    |                                             |
 +-----------------+   +----->|    v                                             |
 | Lustre Exporter |---+      |  PRISM Dashboard (:12062)                        |
 |   :9169         |          |  Watcher (:11082)                                |
 +-----------------+          +--------------------------------------------------+

데이터 흐름:

  1. 각 노드의 Exporter가 시스템 메트릭을 수집하여 HTTP 엔드포인트로 노출합니다.
  2. Prometheus가 주기적(15초)으로 각 Exporter를 스크랩하고, prism-data가 Prometheus에서 메트릭을 취합합니다.
  3. 취합된 메트릭이 Redis TimeSeries에 저장되고, Dashboard가 실시간 SSE로 브라우저에 전달합니다.

Exporter 역할 요약

Exporter포트수집 대상
Node Exporter9100CPU, 메모리, 디스크, 네트워크
DCGM Exporter9400NVIDIA GPU (온도, 사용률, 메모리)
IPMI Exporter9290하드웨어 센서 (온도, 팬, 전력)
Slurm Exporter9341HPC 잡 스케줄러 (노드, CPU, GPU 할당)
Lustre Exporter9169병렬 파일시스템 I/O

온프레미스 핵심 포인트

  • 온프레미스 모드에서는 Bridge를 사용하지 않습니다. PRISM이 로컬 Prometheus를 직접 조회합니다.
  • DCGM Exporter는 NVIDIA GPU가 있는 노드에만 설치합니다.
  • Slurm Exporter는 Slurm 클러스터의 마스터 노드에만 설치합니다.
  • Lustre Exporter는 Lustre 클라이언트가 마운트된 노드에만 설치합니다.

네트워크 포트

포트 목록

서비스포트프로토콜방향비고
Node Exporter9100TCP/HTTPInbound (각 노드)마스터에서 스크랩
DCGM Exporter9400TCP/HTTPInbound (GPU 노드)NVIDIA GPU 전용
IPMI Exporter9290TCP/HTTPInbound (각 노드)BMC 센서 데이터
Slurm Exporter9341TCP/HTTPInbound (마스터)Slurm 클러스터 전용
Lustre Exporter9169TCP/HTTPInbound (스토리지)Lustre FS 전용
Prometheus9090TCP/HTTPInternal외부 노출 불필요
prism-data11052TCP/HTTPInternal데이터 수집 서비스
Redis6379TCPInternal외부 접근 차단 필수
PostgreSQL5432TCPInternal외부 접근 차단 필수
MongoDB27017TCPInternal외부 접근 차단 필수
Dashboard12062TCP/HTTP(S)Inbound웹 브라우저 접속 포트
Watcher11082TCP/HTTPInternal알림/감시 서비스

방향 설명:

  • Inbound: 외부(사용자 PC, 각 노드)에서 마스터 노드로 접근이 필요한 포트
  • Internal: 마스터 노드 내부 Docker 네트워크 간 통신. 외부 개방 불필요

보안 권고

  • DB 포트(5432, 27017, 6379)는 외부 접근을 반드시 차단하세요.
  • Prometheus(9090)도 내부 전용으로 운영을 권장합니다.
  • HTTPS 적용 시 443 포트를 추가하고, 12062 대신 리버스 프록시(nginx) 경유를 권장합니다.

방화벽 설정 예시 (Ubuntu UFW)

bash
sudo ufw allow 12062/tcp   # Dashboard
sudo ufw allow 9100/tcp    # Node Exporter (각 노드 → 마스터)
sudo ufw allow 9400/tcp    # DCGM Exporter (GPU 노드 → 마스터)
sudo ufw allow 9290/tcp    # IPMI Exporter (각 노드 → 마스터)

설치 준비

Docker 설치

bash
# 1. Docker 설치 (공식 convenience script)
curl -fsSL https://get.docker.com | sudo bash

# 2. 현재 사용자를 docker 그룹에 추가 (sudo 없이 docker 명령 사용)
sudo usermod -aG docker $USER

# 3. Docker 서비스 활성화 및 시작
sudo systemctl enable docker
sudo systemctl start docker

# 4. 로그아웃 후 재로그인 (그룹 변경 적용)
# 또는 다음 명령으로 즉시 적용:
newgrp docker

# 5. 설치 확인
docker --version        # Docker version 20.10+ 확인
docker compose version  # Docker Compose v2.0+ 확인

CentOS/RHEL 사전 작업

기존 podman/buildah가 설치된 경우 충돌 방지를 위해 사전 제거가 필요합니다.

bash
sudo yum remove -y podman buildah

디렉터리 구조 생성

bash
# PRISM 설치 디렉터리 생성
mkdir -p ~/prism/{config,data,logs}

최종 디렉터리 구조:

~/prism/
+-- docker-compose.yml        # 서비스 정의
+-- .env                      # 환경 변수 (DB 비밀번호 등)
+-- monitoring-config.yml     # 메트릭 수집 정의
+-- config/                   # 설정 파일
|   +-- prometheus.yml        # Prometheus 설정
+-- data/                     # 영속 데이터 (DB, Redis)
|   +-- postgres/
|   +-- mongodb/
|   +-- redis/
+-- logs/                     # 서비스 로그
+-- jars/                     # PRISM JAR 파일

폐쇄망 환경

인터넷이 없는 환경에서는 Docker 이미지를 .tar 파일로 반입해야 합니다.

bash
# 인터넷이 가능한 환경에서 이미지 저장
docker save -o prism-images.tar <이미지>

# 폐쇄망 서버에서 이미지 로드
docker load -i prism-images.tar

핵심 서비스 배포

.env 파일 구성

~/prism/.env 파일을 생성하고 아래 내용을 작성합니다.

env
# ==================================================
# PRISM 온프레미스 환경 설정
# ==================================================

# --- 운영 모드 ---
PRISM_MODE=onpremise

# --- 데이터베이스 비밀번호 ---
# 초기 설치 시 반드시 변경하세요!
POSTGRES_PASSWORD=YourStrongPassword123!
MONGODB_PASSWORD=YourStrongPassword456!
REDIS_PASSWORD=YourStrongPassword789!

# --- 포트 설정 ---
# 기본 포트를 사용하지 않을 경우에만 변경
POSTGRES_PORT=5432
MONGODB_PORT=27017
REDIS_PORT=6379
PRISM_DATA_PORT=11052
PRISM_DASHBOARD_PORT=12062
PROMETHEUS_PORT=9090
WATCHER_PORT=11082

# --- Prometheus 연동 ---
# PRISM이 메트릭을 조회할 Prometheus 주소
PROMETHEUS_URL=http://prometheus:9090

# --- 로그 설정 ---
LOG_LEVEL=INFO
LOG_MAX_SIZE=50m
LOG_MAX_FILE=5

비밀번호 관련 주의사항

  • 비밀번호에 특수문자 #, $, !를 사용할 수 있으나, .env 파일에서 따옴표로 감싸야 합니다.
    • 예: POSTGRES_PASSWORD="MyP@ss#2026!"
  • 기본값 그대로 사용하지 마세요. 보안 감사 시 지적됩니다.

PRISM_MODE 설명

모드설명
onpremiseBridge 없이 로컬 Prometheus를 직접 조회하는 모드
bridgeSaaS 모드 (외부 Bridge에서 데이터를 수신하는 모드). 온프레미스에서는 사용하지 않습니다.

docker-compose.yml 확인 사항

volumesmonitoring-config.yml 마운트가 반드시 포함되어야 합니다.

yaml
services:
  prism-data:
    volumes:
      - ./monitoring-config.yml:/app/monitoring-config.yml:ro  # 필수!

주의

이 마운트가 없으면 기본 57개 메트릭만 수집되어 IPMI/Slurm/GPU 에러 메트릭이 누락됩니다.

서비스 시작 전 체크리스트

  • [ ] .env 파일이 docker-compose.yml과 같은 디렉터리에 있는지 확인
  • [ ] 비밀번호가 기본값에서 변경되었는지 확인
  • [ ] monitoring-config.yml 파일이 존재하는지 확인

데이터베이스 초기화

PRISM 서비스가 최초 시작되면 데이터베이스가 자동으로 초기화됩니다.

자동 초기화 흐름

PRISM 서비스 최초 시작
  |
  +-- PostgreSQL
  |     +-- Flyway 자동 마이그레이션 실행
  |     +-- 스키마 생성 (organizations, servers, users, alerts 등)
  |     +-- 기본 관리자 계정 생성
  |
  +-- MongoDB
  |     +-- 컬렉션 자동 생성 (서비스 시작 시)
  |     +-- topology, fault-detection 관련 데이터 저장
  |
  +-- Redis
        +-- TimeSeries 모듈 활성화 확인
        +-- 별도 초기화 불필요 (서비스가 자동으로 키 생성)

수동 확인 명령

각 DB에 정상 접속되는지 확인합니다.

bash
# PostgreSQL 접속 확인
docker compose exec postgres psql -U prism -d prismdb -c "SELECT version();"

# MongoDB 접속 확인
docker compose exec mongodb mongosh --eval "db.runCommand({ping:1})"

# Redis 접속 확인 (TimeSeries 모듈 포함 여부)
docker compose exec redis redis-cli MODULE LIST
# redistimeseries 모듈이 목록에 표시되어야 합니다.

Flyway 마이그레이션

  • PRISM은 Flyway를 사용하여 DB 스키마를 자동 관리합니다.
  • 서비스 시작 시 V1 ~ V최신까지 순서대로 마이그레이션이 실행됩니다.
  • 이미 적용된 버전은 건너뛰므로, 재시작해도 안전합니다.

Redis TimeSeries

  • PRISM은 Redis TimeSeries 모듈을 사용하여 실시간 메트릭을 저장합니다.
  • docker-compose.yml의 Redis 이미지가 redistimeseries를 포함하는지 반드시 확인하세요.
  • 일반 Redis 이미지(redis:7-alpine 등)에는 TimeSeries 모듈이 없습니다.

서비스 시작

서비스 시작 명령

bash
# 1. PRISM 디렉터리로 이동
cd ~/prism

# 2. 전체 서비스 시작 (백그라운드)
docker compose up -d

# 3. 서비스 상태 확인
docker compose ps
# 모든 서비스가 "running" 또는 "healthy" 상태여야 합니다.

# 4. 실시간 로그 확인 (Ctrl+C로 종료)
docker compose logs -f

# 5. 특정 서비스 로그만 확인
docker compose logs -f prism-service
docker compose logs -f prism-data
docker compose logs -f prometheus

서비스 시작 순서

Docker Compose가 의존성 순서에 따라 자동으로 시작합니다.

  1. 1단계: DB 서비스 (Redis, PostgreSQL, MongoDB)
  2. 2단계: prism-data (데이터 수집/저장 서비스)
  3. 3단계: Prometheus (메트릭 스크랩)
  4. 4단계: prism-service / Dashboard (웹 UI)
  5. 5단계: watcher (알림/감시)

전체 기동 시간: 약 30~60초 (서버 사양에 따라 상이)

정상 기동 확인

확인 항목명령 / 방법기대 결과
컨테이너 상태docker compose ps모든 서비스 Up/Healthy
Dashboard 접속브라우저에서 http://<서버IP>:12062로그인 페이지 표시
prism-data APIcurl http://localhost:11052/actuator/health{"status":"UP"}
Prometheuscurl http://localhost:9090/-/healthyPrometheus Server is Healthy

서비스 관리

bash
# 전체 재시작
docker compose restart

# 특정 서비스만 재시작
docker compose restart prism-service

# 설정 변경 후 재시작
docker compose down && docker compose up -d

주의

docker compose down -v를 실행하면 볼륨이 삭제되어 모든 데이터가 유실됩니다. -v 옵션 사용에 주의하세요.

로그 확인 팁

  • 에러 필터링: docker compose logs prism-service 2>&1 | grep ERROR
  • 최근 100줄: docker compose logs --tail 100 prism-data
  • Docker 로그 로테이션이 자동 적용됩니다 (최대 50MB x 5파일)

Exporter 설치

모니터링 대상 노드에 Exporter를 설치합니다. Node Exporter는 모든 노드에 필수이며, 나머지는 환경에 따라 선택 설치합니다.

설치 범위 요약

Exporter설치 대상필수/선택설치 조건
Node Exporter모든 노드필수없음
DCGM ExporterGPU 노드선택nvidia-smi 실행 가능
IPMI Exporter서버 노드선택ipmitool 설치 + BMC 지원
Slurm ExporterSlurm 마스터선택squeue/sinfo 실행 가능
Lustre Exporter스토리지 노드선택Lustre 마운트

1. Node Exporter (필수 -- 모든 노드)

bash
# 다운로드 및 설치
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar xzf node_exporter-1.8.2.linux-amd64.tar.gz
sudo cp node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/

# systemd 서비스 등록
sudo tee /etc/systemd/system/node_exporter.service << 'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=always
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter

# 확인
curl http://localhost:9100/metrics | head

2. DCGM Exporter (선택 -- NVIDIA GPU 노드)

bash
# nvidia-smi 확인 (GPU 없으면 설치 불필요)
nvidia-smi

# Docker로 실행 (--gpus all 필수)
docker run -d --gpus all --restart always \
  -p 9400:9400 \
  --name dcgm-exporter \
  nvcr.io/nvidia/k8s/dcgm-exporter:3.3.8-3.6.0-ubuntu22.04

DCGM Exporter는 Docker로 실행되므로 GPU 노드에도 Docker 설치가 필요합니다. NVIDIA Container Toolkit이 사전 설치되어 있어야 합니다.

3. IPMI Exporter (선택 -- BMC 지원 서버)

bash
# ipmitool 사전 설치 필요
sudo apt install -y ipmitool   # Ubuntu
sudo yum install -y ipmitool   # CentOS/RHEL

# Go 바이너리 설치
wget https://github.com/prometheus-community/ipmi_exporter/releases/download/v1.8.0/ipmi_exporter-1.8.0.linux-amd64.tar.gz
tar xzf ipmi_exporter-1.8.0.linux-amd64.tar.gz
sudo cp ipmi_exporter-1.8.0.linux-amd64/ipmi_exporter /usr/local/bin/

# 서비스 등록 및 시작 (systemd)
sudo systemctl enable --now ipmi_exporter

4. Slurm Exporter (선택 -- Slurm 마스터 노드)

Slurm 클러스터의 마스터 노드에서만 설치합니다. squeue, sinfo 명령이 실행 가능해야 합니다.

5. Lustre Exporter (선택 -- Lustre 클라이언트 마운트 노드)

Lustre 파일시스템이 마운트된 노드에서만 설치합니다. /proc/fs/lustre/ 경로가 존재해야 합니다.

설치 후 확인

각 Exporter 설치 후 반드시 포트가 열려 있는지 확인하세요.

bash
curl http://<노드IP>:<>/metrics

Node Exporter는 PRISM이 서버의 온/오프라인 상태를 판단하는 기준 메트릭(up)을 제공하므로 반드시 모든 모니터링 대상 노드에 설치해야 합니다.

Prometheus 설정

prometheus.yml 구성

~/prism/config/prometheus.yml 파일을 아래와 같이 구성합니다.

yaml
global:
  scrape_interval: 15s       # 기본 스크랩 주기
  evaluation_interval: 15s   # 규칙 평가 주기

scrape_configs:
  # PRISM 동적 타겟 디스커버리
  - job_name: 'prism-targets'
    http_sd_configs:
      - url: 'http://prism-data:11052/api/prometheus/targets'
        refresh_interval: 30s   # 타겟 목록 갱신 주기

  # Prometheus 자체 모니터링 (선택)
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

http_sd_configs 동작 원리

  1. PRISM Data Service가 DB에 등록된 서버 목록을 기반으로 Prometheus 타겟 JSON을 동적 생성합니다.
  2. Prometheus는 30초마다 이 엔드포인트를 호출하여 타겟 목록을 갱신합니다.
  3. 새 서버(Exporter)가 등록되면 자동으로 스크랩 대상에 추가됩니다. 수동 설정 변경이 불필요합니다.

타겟 확인 방법

브라우저에서 http://<서버IP>:9090/targets에 접속하여 모든 Exporter가 "UP" 상태로 표시되는지 확인합니다.

API 응답 형식 예시:

json
[
  {
    "targets": ["192.168.0.22:9100"],
    "labels": {
      "job": "node-exporter",
      "__meta_hostname": "node1"
    }
  }
]

Prometheus 설정 변경 시

prometheus.yml을 수정한 뒤에는 Prometheus를 재시작하거나 reload해야 반영됩니다.

bash
docker compose restart prometheus
# 또는
curl -X POST http://localhost:9090/-/reload

prism-data 서비스가 정상 기동되어 있어야 타겟 목록을 받아올 수 있습니다.

monitoring-config.yml

파일 역할

monitoring-config.yml은 PRISM이 Prometheus에서 수집할 메트릭 목록과 PromQL 쿼리를 정의하는 핵심 설정 파일입니다. 이 파일이 없으면 Java 하드코딩된 기본 57개 메트릭만 수집되어, IPMI/Slurm/GPU 에러 메트릭이 누락됩니다.

파일 구조 예시

yaml
metrics:
  - name: cpu_usage_percent
    query: "100 - (avg by(instance)(rate(node_cpu_seconds_total{mode='idle',instance='%s'}[5m])) * 100)"

  - name: memory_usage_percent
    query: "(1 - node_memory_MemAvailable_bytes{instance='%s'} / node_memory_MemTotal_bytes{instance='%s'}) * 100"

  - name: ipmi_temperature_celsius
    query: "ipmi_temperature_celsius{instance='%s'}"

  - name: slurm_cpus_total
    query: "slurm_cpus_total"

  # ... 총 117개 메트릭 정의

메트릭 분류 요약

카테고리메트릭 수주요 항목
시스템 (Node)약 20개CPU, 메모리, 디스크, 네트워크
GPU (DCGM)9개온도, 사용률, 메모리, XID 에러
IPMI18개온도, 팬속도, 전력, 전압, 전류
Slurm42개노드/CPU/GPU 할당, 잡 상태, 파티션
Lustre31개읽기/쓰기 I/O, OST 상태

마운트 설정 (필수)

yaml
# docker-compose.yml 내 prism-data 서비스
services:
  prism-data:
    volumes:
      - ./monitoring-config.yml:/app/monitoring-config.yml:ro  # 필수!

메트릭 추가/수정 방법

  • 방법 1: monitoring-config.yml 직접 편집 후 컨테이너 재시작
  • 방법 2: API 호출 -- PUT /api/v1/metrics/list (런타임 갱신, 재시작 불필요)

주의

  • %s 자리에는 대상 서버의 IP가 자동 바인딩됩니다. 직접 IP를 입력하지 마세요.
  • 신규 Exporter 메트릭을 추가할 때는 해당 Exporter가 실제로 해당 메트릭을 노출하는지 먼저 확인하세요.
bash
curl http://<노드IP>:<>/metrics | grep "메트릭이름"

검증 체크리스트

설치 검증 항목

#검증 항목확인 방법기대 결과
1Docker 실행 중docker compose ps모든 컨테이너 "running" 또는 "healthy"
2DB 접근 가능docker compose exec postgres psql -U prism -c "SELECT 1"쿼리 정상 반환
3Redis TimeSeriesdocker compose exec redis redis-cli MODULE LISTredistimeseries 모듈 표시
4Exporter UPcurl http://<노드IP>:9100/metrics메트릭 텍스트 출력
5Prometheus 타겟브라우저 http://<서버IP>:9090/targets모든 타겟 "UP"
6Dashboard 로그인브라우저 http://<서버IP>:12062로그인 페이지 → 로그인 성공
7서버 표시대시보드 메인 화면등록된 서버 카드 표시
8메트릭 수신서버 카드 클릭 → 상세CPU/메모리 그래프 데이터 표시
9알림 설정관리자 → 알림 메뉴알림 규칙 목록 확인

빠른 종합 검증 스크립트

bash
#!/bin/bash
echo "=== PRISM 설치 검증 ==="

echo "[1] Docker 컨테이너 상태"
docker compose ps --format "table {{.Name}}\t{{.Status}}"

echo "[2] Dashboard 접근"
curl -s -o /dev/null -w "HTTP %{http_code}" http://localhost:12062/login

echo "[3] Prometheus 상태"
curl -s http://localhost:9090/-/healthy

echo "[4] prism-data 상태"
curl -s http://localhost:11052/actuator/health

echo "=== 검증 완료 ==="

  • 모든 항목이 통과하면 PRISM 온프레미스 설치가 정상 완료된 것입니다.
  • 하나라도 실패하면 트러블슈팅 섹션을 참조하세요.
  • 서버 카드가 보이지 않을 경우, Exporter 설치 후 약 1~2분 대기가 필요합니다.

트러블슈팅

일반 문제

#증상원인해결 방법
1DB 연결 실패.env 비밀번호 불일치, 컨테이너 미기동.env 비밀번호 확인, docker compose up -d postgres mongodb 재시작
2Exporter DOWN (타겟 빨간색)Exporter 미설치, 방화벽 차단, 서비스 중지대상 노드에서 systemctl status node_exporter, 방화벽 sudo ufw allow 9100/tcp
3메트릭 없음 (데이터 미표시)monitoring-config.yml 미마운트, prism-data 미기동docker compose logs prism-data로 확인, volume mount 점검
4Dashboard 502 Bad Gatewayprism-service 기동 중 또는 크래시docker compose logs prism-service 확인, 시작까지 30초 대기
5로그인 실패초기 계정 설정 오류docker compose exec postgres psql -U prism -d prismdb -c "SELECT username FROM users LIMIT 5;"
6Prometheus 타겟 없음prism-data 미기동, http_sd_configs URL 오류URL이 http://prism-data:11052/api/prometheus/targets인지 확인
7높은 메모리 사용 (OOM Kill)Redis 데이터 과다, Docker 메모리 제한docker stats로 확인, Redis maxmemory 설정
8디스크 풀Docker 로그 누적, DB 데이터 증가docker system prune, 로그 로테이션 확인
9IPMI/Slurm 메트릭만 없음monitoring-config.yml에 해당 메트릭 미정의config 파일에 메트릭 포함 여부 확인, volume mount 점검
10GPU 메트릭 없음DCGM Exporter 미설치, nvidia-smi 오류대상 노드에서 nvidia-smi 확인, docker logs dcgm-exporter

공통 디버깅 명령

bash
# 전체 컨테이너 상태 + 리소스 사용량
docker compose ps && docker stats --no-stream

# 특정 서비스 재시작
docker compose restart <서비스>

# 전체 로그 에러만 필터
docker compose logs 2>&1 | grep -i error | tail -20

기술 지원 문의

위 항목으로 해결되지 않는 경우 support@giga-flops.com으로 지원을 요청하세요. 문의 시 다음 정보를 함께 보내주시면 빠른 지원이 가능합니다.

  1. docker compose ps 결과
  2. docker compose logs --tail 200 > prism-logs.txt 파일
  3. 서버 OS 및 Docker 버전 정보

PRISM Server Monitoring Platform