Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Be/#269 Prometheus + Grafana 연동 #271

Merged
merged 7 commits into from
Nov 5, 2023
Merged

Be/#269 Prometheus + Grafana 연동 #271

merged 7 commits into from
Nov 5, 2023

Conversation

baekhangyeol
Copy link
Collaborator

@baekhangyeol baekhangyeol commented Oct 12, 2023

🛠️ 변경사항

Prometheus

  • 연동을 위한 prometheus/promethes.yml 추가
  • 의존성 추가
  • application.yml 파일에 매트릭 수집을 위한 코드 추가

Grafana

  • 연동을 위한 datasource.yml 추가

image

☝️ 유의사항

Basic Statistics

Uptime - 시스템 실행 시간
Start time - 시스템 시작 시간
CPU Usage - CPU 사용량
Heap Used - 힙 영역 사용량
Non-Heap Used - 힙 영역 외의 메모리 사용량
Process Open Files - 프로세스가 현재 열고 있는 파일의 개수
CPU Core Size - 사용 가능한 CPU 코어의 수

JVM Statistics - Memory

Eden Space(Heap) - Eden영역의 사용량과 남은 용량
Survivor Space(Heap) - Survivor영역의 사용량
Old Gen(Heap) - Old영역의 사용량
Metaspace(non-heap) - Meta영역의 사용량과 남은 용량
Compressed Class Space(non-heap) - CompreseedClass영역의 사용량과 남은 용량
Classes Loaded/Unloaded - 시스템에 로드되거나 언로드된 클래스의 수
Direct Buffers - 운영체제 네이티브 I/O 작업 메모리 사용량
Mapped Buffers - 파일 I/O 작업을 위해 메모리에 매핑된 버퍼의 사용량
Threads - 실행 중인 스레드의 수
Memory Allocate/Promote - 메모리 할당/승격(Young->Old)수

JVM Statistics - GC

GC Count - 가비지 컬렉션이 발생한 횟수
GC Stop the World Duration - STW의 지속 시간

HikariCP Statistics

Connections Size - 현재 연결 풀의 크기
Connection Timeo(Timeout) - 연결이 타임아웃 될 때까지의 시간
Connections Chart - active 상태와 idle 상태의 연결 수
Connection Creation Time - 새로운 연결이 생성되는 데 걸리는 시간
Connection Usage Time - 연결이 사용된 시간
Connection Acquire Time - 연결 풀에서 연결을 획득하는데 걸리는 시간

HTTP Statistics

Request Count - 특정 API에 대한 요청 수
Response Time - API 응답시간

Tomcat Statistics

Total Error Count - 시스템에서 발생한 총 에러의 수
Active Sessions - 활성 세션의 수
Thread Config Max - 시스템의 최대 스레드 구성
Threads - 시스템에서 사용되는 스레드의 수
Sent & Received Bytes - 네트워크를 통해 전송되고 받은 바이트의 양

Logback Statistics

INFO logs - 정보성 로그의 수
ERROR logs - 에러 로그의 수
WARN logs - 경고 로그의 수
DEBUG logs - 디버그 로그의 수
TRACE logs - 트레이스 로그의 수

👀 참고자료

https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/

❗체크리스트

  • 하나의 메소드는 최소의 기능만 하도록 설정했나요?
  • 수정 가능하도록 유연하게 작성했나요?
  • 필요 없는 import문이나 setter 등을 삭제했나요?
  • 기존의 코드에 영향이 없는 것을 확인하였나요?

@baekhangyeol baekhangyeol self-assigned this Oct 12, 2023
@baekhangyeol baekhangyeol linked an issue Oct 12, 2023 that may be closed by this pull request
2 tasks
@github-actions
Copy link

github-actions bot commented Oct 12, 2023

Unit Test Results

85 tests  ±0   85 ✔️ ±0   6s ⏱️ ±0s
17 suites ±0     0 💤 ±0 
17 files   ±0     0 ±0 

Results for commit c81710e. ± Comparison against base commit 78efb68.

♻️ This comment has been updated with latest results.

@youKeon
Copy link
Collaborator

youKeon commented Oct 12, 2023

고생하셨습니다!! Grafana 대시보드는 어떤 식으로 구성하셨나요?!

@kimhalin
Copy link
Contributor

혹시 정확히 어떤 데이터를 수집하는 지 PR에 정리해주실 수 있나요??

@baekhangyeol
Copy link
Collaborator Author

baekhangyeol commented Oct 12, 2023

아직 대시보드는 구성안하고 일단 연결만 해놨습니당..

@kimhalin
Copy link
Contributor

kimhalin commented Nov 5, 2023

process open files는 어떤 거 측정하는건가요?!

@kimhalin
Copy link
Contributor

kimhalin commented Nov 5, 2023

충돌해결도 부탁드립니다 :)

@youKeon
Copy link
Collaborator

youKeon commented Nov 5, 2023

어떤 걸 측정하는 건지 목록으로 작성해 주실 수 있으신가요?!

@baekhangyeol
Copy link
Collaborator Author

충돌해결도 부탁드립니다 :)

해결했습니다!

@baekhangyeol
Copy link
Collaborator Author

어떤 걸 측정하는 건지 목록으로 작성해 주실 수 있으신가요?!

네! 정리해서 올려놓겠습니다!

Copy link
Contributor

@kimhalin kimhalin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵 확인했습니다!

@baekhangyeol baekhangyeol merged commit 6d0c621 into feature Nov 5, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] Prometheus + Grafana 연동
3 participants