728x90
728x90
Spring Boot Actuator 자체는 모니터링 데이터를 제공하는 툴로, JSON 형식으로 애플리케이션 상태 및 메트릭 데이터를 노출합니다. 하지만 그래픽 대시보드는 Actuator 자체에 포함되어 있지 않습니다. 이를 해결하려면 Actuator 데이터를 시각화할 수 있는 외부 도구와 통합해야 합니다.
Actuator 데이터를 시각화하기 위한 추가 도구
Actuator와 통합하여 그래픽 대시보드를 제공하는 몇 가지 옵션은 다음과 같습니다:
728x90
1. Prometheus + Grafana
- Prometheus: Actuator의 메트릭 데이터를 수집하는 모니터링 시스템.
- Grafana: Prometheus 데이터를 기반으로 대시보드를 생성.
설정 방법:
- Actuator에 Prometheus Endpoint 추가
application.yml
에 Prometheus 엔드포인트를 활성화:management: endpoints: web: exposure: include: health, metrics, prometheus
- Actuator가
/actuator/prometheus
엔드포인트에서 Prometheus 형식의 데이터를 제공.
- Actuator가
- Prometheus 설정
- Prometheus 서버를 설치한 후,
prometheus.yml
에 Actuator 데이터를 수집하도록 설정:scrape_configs: - job_name: 'spring-boot-app' metrics_path: '/actuator/prometheus' static_configs: - targets: ['localhost:8080'] # Spring Boot 애플리케이션 주소
- Prometheus 서버를 설치한 후,
- Grafana 연결
- Grafana에서 Prometheus를 데이터 소스로 추가.
- Spring Boot용 대시보드 템플릿을 가져와 시각화.
2. Spring Boot Admin
- Spring Boot Admin: Spring Boot 애플리케이션의 상태를 중앙에서 관리하고 시각화할 수 있는 오픈소스 도구.
설정 방법:
- Spring Boot Admin 서버 설치
- 새로운 프로젝트로 Spring Boot Admin Server 설정:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.x.x</version> </dependency>
@EnableAdminServer
애노테이션 추가.
- 새로운 프로젝트로 Spring Boot Admin Server 설정:
- Spring Boot 애플리케이션 등록
- Actuator가 설치된 애플리케이션에 Spring Boot Admin 클라이언트 추가:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.x.x</version> </dependency>
application.yml
에 Admin Server 주소 설정:spring: boot: admin: client: url: http://localhost:8080 # Admin Server 주소 management: endpoints: web: exposure: include: '*'
- Actuator가 설치된 애플리케이션에 Spring Boot Admin 클라이언트 추가:
- 대시보드 보기
- Admin 서버에 접속하면 애플리케이션의 상태와 메트릭이 시각화된 대시보드 제공.
3. Elastic Stack (ELK)
- Actuator 로그와 메트릭 데이터를 Elasticsearch로 전송하고, Kibana로 시각화.
설정 방법:
- Actuator 데이터를 Logstash로 전송:
- Logstash를 통해 Actuator 데이터 및 로그를 수집.
logstash.conf
에 Actuator 엔드포인트를 입력:input { http { url => "http://localhost:8080/actuator/metrics" } } output { elasticsearch { hosts => ["http://localhost:9200"] } }
- Kibana에서 시각화
- Elasticsearch 데이터를 Kibana 대시보드로 시각화.
728x90
요약
- Actuator는 데이터 제공 역할만 합니다.
- Prometheus + Grafana 또는 Spring Boot Admin을 설치하면 시각적인 대시보드를 쉽게 구현할 수 있습니다.
- 작은 프로젝트는 Spring Boot Admin, 대규모 시스템은 Prometheus + Grafana를 추천합니다.
728x90
728x90
'SpringBoot 를 배워보자' 카테고리의 다른 글
Maven 프로파일을 활용한 조건별 의존성 관리: 유연하고 효율적인 프로젝트 관리를 위한 가이드 (0) | 2024.11.16 |
---|---|
Spring Boot Actuator와 Spring Boot Admin 연동: (0) | 2024.11.16 |
스프링 부트 액추에이터 설치 및 활용: 개발 환경을 넘어 운영 환경까지 완벽하게 관리하다 (0) | 2024.11.16 |
SAP JCo를 활용한 Spring Boot 연동 가이드: 상세 예제와 함께하는 완벽 가이드 (0) | 2024.11.13 |
SAP RFC와 Spring Boot 연동: 자세한 가이드 (0) | 2024.11.12 |