Prometheus의 스프링 부트 메트릭
소개
며칠 간의 고된 개발 끝에 내 애플리케이션이 마침내 프로덕션에 배포되었습니다! 어떤 사용자도 버그를 보고하지 않았으므로 모든 것이 정상인 것 같습니다. 하지만 정말 그럴까요?
그냥 배포하고 다음 작업으로 넘어가는 것을 좋아하지 않기 때문에 새로운 API가 건강하고 숨 쉬고 있는지 확인해야 할 필요성을 느낍니다. 그래서 즉시 새 브라우저 탭을 열고 Kibana에서 로그를 확인합니다.
이제 내가 남긴 관련 로그 메시지와 Lucene 구문을 기억해야 하지만 모든 배포에 대해 이 작업을 수행할 수 없기 때문에 확장할 수 없습니다. 이 프로세스는 제품 관리자와 같은 비기술적인 사람에게도 적합하지 않습니다. 한 번만 구성한 다음 모든 메트릭을 시각화할 수 있는 대시보드가 있었으면 좋겠습니다.
전제 조건
Spring 부트 API는 Prometheus에서 수집한 다음 Grafana에 표시할 데이터를 노출합니다. Spring 부트 애플리케이션을 실행하려면 Java 8이 필요합니다.
Linux 기반 OS에 Prometheus 및 Grafana를 설치하는 방법을 알고 싶다면 my .
셋업 스프링
OnSpring initializr에서 종속성이 있는 Gradle 프로젝트를 선택합니다.
Spring 부트 API는 Prometheus에서 수집한 다음 Grafana에 표시할 데이터를 노출합니다. Spring 부트 애플리케이션을 실행하려면 Java 8이 필요합니다.
Linux 기반 OS에 Prometheus 및 Grafana를 설치하는 방법을 알고 싶다면 my .
셋업 스프링
OnSpring initializr에서 종속성이 있는 Gradle 프로젝트를 선택합니다.
Spring Web
Spring Boot DevTools
Prometheus
Spring Boot Actuator
최종 코드는 여기Github repository에서 사용할 수 있습니다.
Prometheus 메트릭 노출
application.properties
파일에 다음 줄을 추가합니다.
management.endpoints.web.exposure.include=*
Spring 애플리케이션을 실행하고 엔드포인트에 액세스합니다.
http://localhost:8080/actuator/prometheus
Prometheus에서 이해할 수 있는 형식으로 많은 데이터를 반환해야 합니다.
이 데이터를 스크랩하도록 Prometheus 구성
prometheus.yml
파일에서 scrape_configs
아래에 새 작업을 추가합니다.
global:
scrape_interval: 10s
scrape_configs:
- job_name: 'spring_micrometer'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8080']
이제 http://localhost:9090/
에서 Prometheus 인터페이스에 액세스하고 다음을 쿼리합니다.
http_server_requests_seconds_count{job="spring_micrometer"}
Prometheus가 Spring 부트 애플리케이션에서 데이터를 스크랩하도록 요청하는 것을 볼 수 있습니다. 지금까지 모든 것이 제대로 작동하고 있다는 신호입니다.
Grafana 구성
이제 이 데이터를 표시하도록 Grafana를 구성합니다. 브라우저에서 Grafana를 열고 JVM (Actuator) dashboard 을 가져옵니다.
이제 몇 가지 멋진 데이터가 표시됩니다.
결론
이제 모든 메트릭이 한 곳에 있으므로 브라우저에서 URL을 입력하기만 하면 됩니다. 대형 TV를 구입하고 대시보드 스트리밍을 24/7로 유지할 수도 있습니다.
비즈니스 메트릭과 같이 Prometheus에 고유한 사용자 지정 메트릭을 보낼 수 있다면 어떨까요? Prometheus 쿼리를 기반으로 자동 알림을 생성할 수 있다면 어떨까요? 아래에 댓글을 남겨주시면 이 콘텐츠에 관심이 있으신지 알 수 있습니다.
Reference
이 문제에 관하여(Prometheus의 스프링 부트 메트릭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/fabiothiroki/spring-boot-metrics-on-prometheus-48eo
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
management.endpoints.web.exposure.include=*
http://localhost:8080/actuator/prometheus
prometheus.yml
파일에서 scrape_configs
아래에 새 작업을 추가합니다.global:
scrape_interval: 10s
scrape_configs:
- job_name: 'spring_micrometer'
metrics_path: '/actuator/prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8080']
이제
http://localhost:9090/
에서 Prometheus 인터페이스에 액세스하고 다음을 쿼리합니다.http_server_requests_seconds_count{job="spring_micrometer"}
Prometheus가 Spring 부트 애플리케이션에서 데이터를 스크랩하도록 요청하는 것을 볼 수 있습니다. 지금까지 모든 것이 제대로 작동하고 있다는 신호입니다.
Grafana 구성
이제 이 데이터를 표시하도록 Grafana를 구성합니다. 브라우저에서 Grafana를 열고 JVM (Actuator) dashboard 을 가져옵니다.
이제 몇 가지 멋진 데이터가 표시됩니다.
결론
이제 모든 메트릭이 한 곳에 있으므로 브라우저에서 URL을 입력하기만 하면 됩니다. 대형 TV를 구입하고 대시보드 스트리밍을 24/7로 유지할 수도 있습니다.
비즈니스 메트릭과 같이 Prometheus에 고유한 사용자 지정 메트릭을 보낼 수 있다면 어떨까요? Prometheus 쿼리를 기반으로 자동 알림을 생성할 수 있다면 어떨까요? 아래에 댓글을 남겨주시면 이 콘텐츠에 관심이 있으신지 알 수 있습니다.
Reference
이 문제에 관하여(Prometheus의 스프링 부트 메트릭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/fabiothiroki/spring-boot-metrics-on-prometheus-48eo
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이제 모든 메트릭이 한 곳에 있으므로 브라우저에서 URL을 입력하기만 하면 됩니다. 대형 TV를 구입하고 대시보드 스트리밍을 24/7로 유지할 수도 있습니다.
비즈니스 메트릭과 같이 Prometheus에 고유한 사용자 지정 메트릭을 보낼 수 있다면 어떨까요? Prometheus 쿼리를 기반으로 자동 알림을 생성할 수 있다면 어떨까요? 아래에 댓글을 남겨주시면 이 콘텐츠에 관심이 있으신지 알 수 있습니다.
Reference
이 문제에 관하여(Prometheus의 스프링 부트 메트릭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fabiothiroki/spring-boot-metrics-on-prometheus-48eo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)