APM 이란
application performance management, 서버 성능 관리 입니다.

설정

- spring application에 dependencies에 prometheus와 actuator를 등록해줍니다.

- spring application name을 스프링 어플리케이션에 지정해주고
prometheus endpoints를 활성화 시켜줍니다.
- 여기에 spring application name이 prometheus에 application으로 넘어갑니다.

- 서버를 구동해 /actuator/prometheus 에 접속하여 메트릭이 정상적으로 출력되는지 확인합니다.

- prometheus가 설치되어 있는 인스턴스로 접속하여 prometheus.yml 파일을 열고 수정해줍니다.
- scrape_configs 하위에 모니터링 할 인스턴스의 ip와 port를 등록해줍니다.
prometheus, grafana 실행
promethus 실행
- cd ~/prometheus-2.37.0.darwin-amd64
- ./prometheus --config.file=prometheus.yml
grafana 실행
- cd ~/grafana-9.0.5
- ./bin/grafana-server
적용

- grafana에 접속하여 data sources에 prometheus가 실행되고 있는 곳의 URL을 입력하고 저장해줍니다.


- promethus가 실행되고 있는곳의 인스턴스 아이피와 9090포트(prometheus 기본 Port)를 url에 입력하여 접속을 확인해준 뒤 원하는 메트릭의 이름을 확인합니다.
결과

- 중앙 하단의 Query에 Prometheus를 지정해준뒤
Metrics 에 원하는 메트릭의 이름을 입력해주면 정상적으로 그래프가 표시되는것을 확인할 수 있습니다.