📺 모니터링 환경 구축
이번 포스팅에서는 Grafana를 설치하고 대시보드를 구성하는 방법에 대하여 소개할 예정이다. Spring Actuator 설정 및 Prometheus 설치 및 설정 방법은 이전 포스트를 참고하자.
[SpringBoot] 모니터링 환경 구축 #1
📺 모니터링 환경 구축 Spring Boot 기반의 애플리케이션을 사용 중이라면 Prometheus로 메트릭을 수집한 후 Grafana를 사용하여 대시보드를 구성하여 애플리케이션에 대한 모니터링을 할 수 있다. 아
caffeineoverflow.tistory.com
📺 Grafana란?
Grafana는 메트릭을 시각화 해주는 오픈소스 도구이다. Graphite, Prometheus, InfluxDB 등 다양한 데이타베이스와 메트릭 수집 시스템을 지원하고, 하나의 대쉬보드에 동시에 여러 메트릭 시스템들의 지표를 표시할 수 있다.
📺 Grafana 설치 및 실행
- Grafana 설치
https://grafana.com/grafana/download로 이동하여 서버 스펙에 해당하는 파일을 다운로드한다.
다운로드가 완료되면 압축을 푼다.
- Grafana 실행
별도의 설정 없이 다음의 명령어로 바로 실행 가능하다. 실행 쉘은 /grafana-9.4.3/bin 경로에 위치해 있다.
$ ./grafana-server start
정상 실행이 완료되었다면 브라우저를 실행한 다음 http://localhost:3030을 입력하면 아래와 같이 로그인 페이지를 확인할 수 있다.
최초 로그인 계정 및 패스워드는 admin/admin이다. 계정 정보를 입력한 후 로그인을 누르면 메인 페이지로 이동한다.
이어서 대시보드를 구성해 보자.
📺 Grafana 대시보드 구성
- Prometheus 연동
대시보드를 구성하기 전에 지난 시간에 구축한 프로메테우스를 연동해야 한다.
아래 화면에서 하단의 톱니바퀴를 클릭한 후 'Data sources'를 클릭해 보자.
Configuration > Data sources 화면으로 이동한 후 'Add data source'를 클릭하면 구성할 수 있는 아이템을 선택할 수 있다. 이중 Prometheus를 선택하도록 하자.
Prometheus를 선택하면 다음과 같이 설정정보를 입력하는 페이지가 나올 것이다. Prometheus에서 설정한 URL을 입력한 후 Save 버튼을 클릭한다.
- Grafana 대시보드 구성
이제 Prometheus에 대한 설정도 모두 끝이 났고, 대시보드 구성만 남았다.
대시보드는 사용자가 Panel을 추가하여 구성할 수 있다. 아래의 화면에서 'Add a new panel'을 클릭하면 직접 쿼리를 작성하여 원하는 데이터를 가시화할 수 있게 된다.
하지만 공식 페이지에서 이미 구성된 템플릿을 제공하고 있으므로 이를 이용하여 기본적인 대시보드 구성이 가능하다. 현재 스프링 프로젝트에 대한 모니터링 환경을 구축한다고 가정하에 https://grafana.com/grafana/dashboards/ 사이트로 이동하여 Spring을 검색하면 관련 템플릿을 다운로드할 수 있다.
템플릿으로 이동하여 Download JSON을 클릭하여 다운로드한다.
다운로드가 완료되었다면 다시 Grafana 페이지로 이동한 후 Dashboards > Import 페이지로 이동한다.
이동 후 'Upload JSON file' 버튼을 클릭한 후 다운로드한 JSON파일을 업로드한다.
업로드가 정상적으로 완료되면 아래와 같이 등록화면이 바뀌는데, 위에서 등록한 Prometheus를 선택한 후 'Import' 버튼을 클릭하면 템플릿이 적용된 모습을 확인할 수 있을 것이다.
References.
1. NHN Cloud 기술블로그
2. FINDA 기술블로그
3. 다나와 기술블로그
4. Covenant - 프로메테우스, 그라파나를 이용한 스프링부트 모니터링
'Spring' 카테고리의 다른 글
[SpringBoot] HATEOAS (1) | 2023.03.13 |
---|---|
[SpringBoot] REST API (0) | 2023.03.11 |
[SpringBoot] 모니터링 환경 구축 #2 - Prometheus (0) | 2023.03.01 |
[SpringBoot] 모니터링 환경 구축 #1 - Spring Actuator (0) | 2023.02.26 |
[SpringBoot] Bucket4j를 이용한 트래픽 제한 (0) | 2023.02.23 |