-
Spring Boot 핵심 기능 5 - 모니터링 & 관리 (Grafana)BackEnd/Spring Boot 2023. 5. 17. 08:50반응형
그라파나(Grafana)
프로메테우스가 DB라고 하면, 해당 DB에 있는 데이터를 불러서 사용자가 보기 편하게 보여주는 대시보드가 필요합니다. 그라파나는 매우 유연하고, 데이터를 그래프로 보여주는 툴입니다. 수 많은 그래프를 제공하고, 프로메테우스를 포함한 다양한 데이터소스를 지원합니다.
그라파나 설치
https://grafana.com/grafana/download
→ 압축을 푼 곳에서 bin 폴더로 이동하여 grafana-server.exe 실행
→ 개발자를 확인할 수 없기 때문에 'grafana-server'을(를) 열 수 없습니다. (이전 포스팅 프로메테우스 설치 참고)
→ 압축을 푼 곳에서 bin 폴더로 이동하여 ./grafana-server
그라파나 실행
http://localhost:3000
- email or username: admin
- password: admin
그라파나 데이터소스 추가
그라파나에서 프로메테우스를 데이터소스로 사용해서 데이터를 읽어와야 합니다.
- 왼쪽 하단에 있는 설정(Configuration) 버튼에서 Data sources를 선택합니다.
- Add data source를 선택합니다.
- Prometheus를 선택합니다.
- Prometheus 데이터 소스를 설정합니다. → URL: http://localhost:9090
- Save & test를 선택합니다.
그라파나 대시보드 만들기
- 왼쪽 Dashboards 메뉴를 선택합니다.
- New 버튼 선택 → New Dashboard를 선택합니다.
- 오른쪽 상단의 Save dashboard 저장 버튼(disk 모양)을 선택합니다.
- Dashboard name: hello dashboard를 입력하고 저장합니다.
대시보드에 패널 만들기
대시보드가 큰 틀이라면 패널은 그 안에 모듈처럼 들어가는 실제 그래프를 보여주는 컴포넌트입니다.
- 오른쪽 상단의 Add panel 버튼(차트 모양) 선택합니다.
- Add a new panel 메뉴를 선택합니다.
- 패널의 정보를 입력할 수 있는 화면이 나타납니다.
- 아래에 보면 Run queries 버튼 오른쪽에 Builder, Code라는 버튼이 보입니다. Code를 선택합니다.
- Enter a PromQL query... 이라는 부분에 메트릭을 입력하면 됩니다.
CPU 메트릭 만들기
다음 메트릭을 패널에 추가합니다.
- system_cpu_usage: 시스템의 CPU 사용량
- process_cpu_usage: JVM 프로세스 CPU 사용량
PromQL에 system_cpu_usage를 입력하고 Run queries 버튼을 선택하면, 패널에 시스템 CPU 사용량을 그래프로 확인할 수 있습니다. process_cpu_usage도 하나의 그래프에서 확인하기 위해 하단의 + Query 버튼을 선택 → PromQL에 process_cpu_usage를 입력하고 Run queries 버튼을 선택합니다. 패널에 프로세스 CPU 사용량이 추가된 것을 확인할 수 있습니다.
- 그래프의 데이터 이름 변경: 패널 그래프 하단을 보면 범례(Legend)라고 하는 차트에 제공하는 데이터 종류를 구분하는 텍스트가 표시되어 있습니다. 예) system_cpu_usage를 입력한 곳 하단 Options 선택 → Legend 선택 → Custom 선택 → system cpu 입력
- 패널 이름 설정: 오른쪽에 보면 Panel options라는 부분이 있습니다. Title을 수정합니다.
- 패널 저장하기: 화면 오른쪽 상단의 Save or Apply 버튼을 선택합니다.
- 그래프 데이터 사이즈 변경: 그래프를 보면 데이터 사이즈가 byte로 보이기 때문에 불편할 수 있습니다. 변경하기 위해서는 오른쪽 옵션 창을 확인 후 Standard options → Unit → Data → bytes(SI)를 선택합니다.
- 최소값 변경: Standard options → Min → 0을 선택합니다.
그라파나 공유 대시보드 활용
다음 사이트에 접속하여 검색창에 spring이라고 검색하면 다양한 대시보드를 확인할 수 있습니다.
https://grafana.com/grafana/dashboards/
스프링 부트 시스템 모니터 대시보드 불러오기
다음 사이트에 접속한 다음 Copy Id to clipboard를 선택합니다. 또는 ID: 11378 이라고 되어 있는 부분의 숫자를 저장합니다.
https://grafana.com/grafana/dashboards/11378-justai-system-monitor/
- 그라파나 왼쪽 Dashboards 메뉴를 선택합니다.
- New 버튼 선택 → Import를 선택합니다.
- 불러올 대시보드 숫자(11378)를 입력하고 Load 버튼을 선택합니다.
- Prometheus 데이터소스를 선택하고 Import 버튼을 선택합니다.
대시보드를 확인해보면 대부분의 메트릭을 대시보드에 표현한 것을 확인할 수 있습니다. 각각의 항목들을 보고 대시보드를 어떻게 구성해야 하는지도 학습할 수 있습니다.
대시보드 수정하기
대시보드를 수정하려면 먼저 수정모드로 변경해야 합니다. 오른쪽 상단의 설정 버튼을 선택하고 Make editable을 선택합니다. 해당 대시보드는 톰캣이 아니라 Jetty라는 웹 서버를 기준으로 통계를 수집합니다. 다음 순서에 따라 Tomcat 통계로 변경합니다.
- Jetty Statistics 부분으로 이동한 다음 설정 버튼을 통해 Title을 Tomcat Statistics로 변경합니다.
- Thread Config Max 패널 설정: jetty_threads_config_max → tomcat_threads_config_max_threads로 변경합니다.
- Thread 패널 설정: jetty_threads_current → tomcat_threads_current_threads, jetty_threads_busy → tomcat_threads_busy_threads로 변경하고, jetty_threads_idle 및 jetty_threads_jobs를 제거합니다.
실무에서는 주로 CPU, 메모리, 커넥션 풀 사용량 및 에러 로그 급증 등을 모니터링합니다.
[참고정보]
반응형'BackEnd > Spring Boot' 카테고리의 다른 글
Spring Boot 핵심 기능 5 - 모니터링 & 관리 (Prometheus) (1) 2023.05.16 Spring Boot 핵심 기능 5 - 모니터링 & 관리 (Micrometer) (0) 2023.05.12 Spring Boot 핵심 기능 5 - 모니터링 & 관리 (Actuator) (0) 2023.05.04 Spring Boot 핵심 기능 4 - 외부설정(2) (0) 2023.05.04 Spring Boot 핵심 기능 4 - 외부설정(1) (0) 2023.05.03