spring cloud application에서 설정한
management:
endpoints:
web:
exposure:
include: prometheus
actuator/prometheus를 가지고 이 정보를 자신이 도식화 시키기 위해서 수집을한다. 그리고 그걸 시계열 DB에 Metrics를 저장한다.
그라파나 라는 모니터링 및 분석을 위한 오픈소스애플리케이션이 프로메테우스와 연동을 해서 프로메테우스에 저장된 시계열 DB를 읽어서 정보를 시각화 해서 보여준다.
프로메테우스 yml파일에 설정할 수 있다. 난 세개만 등록했지만 이것보다 더 많은 마이크로 서비스들을 설정할 수도 있다.
!앞칸 띄어쓰기 잘해주어야 함.
터미널에서 ./prometheus --config.file=prometheus.yml 실행 시키고
http://127.0.0.1:9090 으로 띄워보면 프로메테우스 초기 화면이 나온다.
http://127.0.0.1:8000/user-service/actuator/prometheus로 들어가서
http_server_requests_seconds_count를 검색해보고 http_server_requests_seconds_count값을 프로메테우스에 가서 검색해보면
위에서 yml에 job_name에 설정한 서비스들의 정보들을 볼 수 있다.
시각화 한걸 보기 위해서는 Graph라는 탭을 눌러보면
등록되어 있는 정보들이 시각화되어서 보여진다.
이 탭에서는 시간별로 볼 수도 있다. 스프링 클라우드에 저장되어 있던 정보를 프로메테우스가 가지고 와서 자신만의 시계열 데이터에 보관을 해놨기때문에 언제든지 시간을 돌려서 볼 수 있다.
그라파나와 프로메테우스 연동
./bin/grafana-server 그라파나 실행
http://127.0.0.1:3000 실행하면 그라파나 홈페이지가 뜬다 초기 아이디/비밀번호는 admin/admin 입력하면 접속됨
설정에 Configuration누르면 AddDataSource클릭하면 아래와 같은 화면이 나오는데 프로메테우스 클릭.
프로메테우스 아이피와 포트번호 입력하고 저장.
데시보드에서 +import탭 클릭
https://grafana.com/grafana/dashboards/ 접속하면 여러 데시보드들이 나오는데 아무거나 해도 되는데 micrometer를 검색해서
얘 찾아서 오른쪽 하단에 아이디 값 복사해서 아까 위에 그라파나에 대쉬보드 아이디 넣는 곳에 넣어준다. 다시 들어가서
https://grafana.com/grafana/dashboards Prometheus 2.0 Overview 검색후 이것도 임포트 해준다.
spring cloud gateway 도 임포트 해주고 들어가 보면
이럼 화면이 나오는데 모니터링할거 클릭해서
설정해준다. 이건 spring_cloud_gateway_requests_count를 확인하기 위한 쿼리이다. spring_cloud_gateway_requests_count 같이 쓰여질 값이 프로메테우스에 가서 검색하면 나와야한다. 그리고 job=""은 프로메테우스yml에 설정한 apigateway-service에 대한 값이다. 다른것도 이런식으로 설정 하면됨. 조회하고 프로메테우스yml에 서비스를 등록하고 조회 싶은 서비스를 job에 입력해서 모니터링 하면 된다.
이렇게 값들이 나온다.
메모리도 마찬가지.
'Spring Cloud(MSA)' 카테고리의 다른 글
도커 (1) | 2022.09.30 |
---|---|
docker 명령어 (1) | 2022.09.30 |
Zipkin (0) | 2022.09.29 |
아파치 카프카 (0) | 2022.09.28 |
Resilience4J = CircuirtBreaker (1) | 2022.09.28 |