Spring
Prometheus + Grafana instance 별칭 설정하기
lemon-
2025. 6. 9. 21:17
개요 및 문제
Prometheus + Grafana를 적용하여 모니터링 시스템을 구축하였다. 여러 애플리케이션을 모니터링하는데 개선점이 생겼다. 바로 Grafana 대시보드에서 애플리케이션을 선택할 때 instance를 선택하는데, instance가 기본적으로 IP:포트번호의 이름으로 생성된다는 것이었다. 이때, 여러 서비스를 모니터링한다면 대시보드를 활용하려는 사람은 각 서비스의 포트 번호를 기억하고 있어야 한다. 그렇기 때문에 instance의 이름을 변경하거나 별칭을 설정하는 방법을 찾아보았다.
해결방법
Prometheus 설정파일 수정
- prometheus.yml 설정파일에 내용을 추가하여 instance의 이름을 설정할 수 있었다.
- Prometheus에서는 relabel_configs 설정이 없을 경우,기본적으로 instance 라벨 값은 IP:PORT 형태로 설정된다.
- 예: 111.222.111.111:8080
- 이 라벨은 Grafana에서 애플리케이션을 구분하는 주요 기준으로 사용되므로, relabel_configs를 활용하여 각 인스턴스에 프로젝트명을 지정하는 것이 좋다.
scrape_configs:
- job_name: 'customer-service'
static_configs:
- targets: ['111.222.111.111:8080']
relabel_configs:
- source_labels: ['__address__']
target_label: 'instance'
replacement: 'customer-service'
위와 같이 relabel_configs를 설정하면, Prometheus는 실제 데이터를 customer-service라는 instance 라벨 값으로 수집하며, Grafana 대시보드에서 더 직관적인 서비스명으로 시각화할 수 있다.
이 라벨 값은 한글도 사용 가능하다.
Prometheus 재시작
prometheus.yml 파일을 수정한 후에는 Prometheus를 재시작해야 설정이 적용된다.
docker restart {prometheus-container-name}
재시작 시 instance 명이 설정한 이름으로 바뀌고, Grafana 대시보드에도 자동으로 적용된다.
Grafana에서 이전 instance명(포트번호)이 계속 보일 때 해결방법
변수 설정에서 "자동 새로고침" 옵션 켜기!
Dashboard → "Settings" → "Variables"
- Instance클릭하여 아래로 내리다가 Refresh → "On Dashboard Load" 설정 클릭하기
- Save 하고 대시보드 새로고침하기
위 설정을 적용하면 이전 Instance 명이 사라진다.
이렇게 한글명으로 Instance를 수정완료하였다.