콘텐츠로 이동

RBLN 메트릭 익스포터

Metrics Exporter를 사용하면 NPU 메트릭을 Prometheus로 수집하고 Grafana에서 시각화할 수 있습니다.

기본값인 local 모드는 자체 노드의 메트릭을 수집하고, 게이트웨이 모드는 여러 원격 호스트의 메트릭을 수집합니다.

Kubernetes 설치(Helm)

Kubernetes에서는 NPU Operator Helm 차트로 Metrics Exporter를 배포합니다. 먼저 NPU Operator 설치의 사전 요구사항과 드라이버 설정을 준비해야 합니다.

Helm values에서 다음과 같이 설정합니다.

metricsExporter:
  enabled: true

NPU 노드마다 exporter Pod가 Ready인지 확인하고, 메트릭 엔드포인트를 로컬 포트로 연결합니다.

1
2
3
4
kubectl get pods -n rbln-system -o wide \
    -l app.kubernetes.io/component=metrics-exporter
kubectl port-forward -n rbln-system \
    service/rbln-metrics-exporter-service 9090:9090

다른 터미널에서 메트릭을 조회합니다.

curl --fail http://127.0.0.1:9090/metrics

ServiceMonitor를 설정하고 Prometheus에서 수집 결과를 확인하는 방법은 Prometheus로 NPU 메트릭 수집하기에서 다룹니다.

베어메탈 설치(Docker)

Linux 호스트에 Docker와 RBLN 드라이버를 설치하고, RSMD가 실행 중인지 확인합니다. 아래 예시는 RSMD의 gRPC 주소가 127.0.0.1:50051인 환경을 기준으로 합니다.

sudo systemctl status rbln-smd

NPU 호스트마다 Metrics Exporter 컨테이너를 실행합니다. 컨테이너는 호스트 네트워크(--network host)를 통해 같은 호스트의 RSMD에 접속하며, Kubernetes 환경이 아니므로 --kubernetes-mode=off를 지정합니다.

export EXPORTER_VERSION=v0.4.0

docker run -d \
    --name rbln-metrics-exporter \
    --restart unless-stopped \
    --network host \
    -e PROMETHEUS_METRIC_NAMES=true \
    -e NODE_NAME="$(hostname)" \
    docker.io/rebellions/rbln-metrics-exporter:${EXPORTER_VERSION} \
    --mode=local \
    --kubernetes-mode=off \
    --rbln-daemon-url=127.0.0.1:50051 \
    --port=9090

컨테이너가 실행 중인지 확인하고 메트릭을 조회합니다.

docker ps --filter name=rbln-metrics-exporter
curl --fail http://127.0.0.1:9090/metrics

메트릭 이름과 수집 확인

PROMETHEUS_METRIC_NAMES=true로 설정하면 기존 RBLN_DEVICE_STATUS:* 별칭 대신 rbln_npu_* 이름을 사용합니다.

첫 수집이 끝난 뒤 /metrics 응답에서 rbln_up 1과 rbln_npu_* 메트릭을 확인합니다. rbln_up이 계속 0이면 RSMD 실행 상태와 연결 주소를 확인합니다. 메트릭과 레이블 목록은 메트릭 레퍼런스에서 확인할 수 있습니다.