게이트웨이 모드¶
RBLN 메트릭 익스포터 v0.3.0부터는 단일 exporter 인스턴스가 여러 원격 호스트의 메트릭을 수집하는 게이트웨이 모드를 제공합니다. 게이트웨이 모드는 Prometheus에서 제공하는 멀티 타겟 exporter 패턴을 따르며, 호스트마다 exporter를 배포하기 어려운 베어메탈/비-쿠버네티스 환경을 위한 기능입니다.
| 항목 | local(기본값) | gateway |
|---|---|---|
| 배포 형태 | 노드마다 1개(DaemonSet) | 중앙에 1개 |
| 수집 대상 | 로컬 노드의 rbln-smd | 스크랩마다 지정되는 원격 rbln-smd |
| 타겟 지정 | 없음(자체 노드) | 쿼리 파라미터 ?target=<host:port> |
| Kubernetes 파드 레이블 | 제공 | 미제공(하드웨어 메트릭 전용) |
동작 방식¶
Prometheus가 /metrics?target=<host:port> 형태로 게이트웨이를 스크랩하면, 게이트웨이는 해당 타겟의 rbln-smd에 gRPC로 접속해 요청 시점의 전체 메트릭을 수집하고 Prometheus 형식으로 응답합니다. 게이트웨이는 요청 사이에 메트릭 상태를 저장하지 않고 타겟 목록도 갖지 않으며, 타겟 목록은 Prometheus 스크랩 설정에서만 관리됩니다. 타겟별 gRPC 연결은 캐시해 재사용하고, 끊어지면 자동으로 다시 연결합니다.
게이트웨이 실행¶
exporter는 두 가지 실행 모드 중 하나로 동작하며, 시작 시 --mode 플래그 또는 RBLN_METRICS_EXPORTER_MODE 환경 변수를 사용하여 선택합니다.
Prometheus 스크랩 설정¶
NPU 호스트 주소를 targets에 나열합니다. relabel_configs를 사용해 각 주소를 target 쿼리 파라미터로 전달하고, HTTP 요청은 게이트웨이로 보내도록 설정합니다.
이 설정으로 Prometheus는 호스트마다 http://rbln-gateway:9200/metrics?target=npu-host-1:50051을 스크랩하고, 모든 시리즈를 instance="npu-host-1:50051" 레이블과 함께 저장합니다.
스크랩 타임아웃
게이트웨이는 스크랩 요청을 받을 때 메트릭을 수집하므로, 대상 호스트의 응답이 느리면 수집 시간이 길어집니다. 게이트웨이는 Prometheus가 보내는 X-Prometheus-Scrape-Timeout-Seconds 헤더의 제한 시간을 따릅니다. 수집 시간이 부족하면 Prometheus의 scrape_timeout 값을 늘려야 합니다.