부트 개념과 활용-33.Actuator 소개, JMX와 HTTP(스프링 부트 운영)
스프링 부트 Actuator 1부: 소개
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-endpoints
애플리케이션의 각종 정보를 확인할 수 있는 Endpoints
- 다양한 Endpoints 제공.(공식문서 표 확인)
- JMX 또는 HTTP를 통해 접근 가능 함.
- shutdown을 제외한 모든 Endpoint는 기본적으로 활성화 상태.
- 활성화 옵션 조정
- management.endpoints.enabled-by-default=false
- management.endpoint.info.enabled=true
실습
의존성 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
의존성 추가 후
http://localhost:8080/actuator
로 들어가면
{"_links":{"self":{"href":"http://localhost:8080/actuator","templated":false},"health-path":{"href":"http://localhost:8080/actuator/health/{*path}","templated":true},"health":{"href":"http://localhost:8080/actuator/health","templated":false},"info":{"href":"http://localhost:8080/actuator/info","templated":false}}}
스프링 부트 Actuator 2부: JMX와 HTTP
JConsole 사용하기
- https://docs.oracle.com/javase/tutorial/jmx/mbeans/
- https://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html
VisualVM 사용하기
설치 : https://visualvm.github.io/download.html JConsole과 거의 동일하나, 보기 좀 더 편하다.(플러그인 등)
- Tools - 플러그인 - Mbean 설치.
HTTP 사용하기
앞선 2가지의 방법보다 나는 바로 웹으로 보고 싶다. 고 한다면.
/actuator
health와 info를 제외한 대부분의 Endpoint가 기본적으로 비공개 상태 공개 옵션 조정
- management.endpoints.web.exposure.include=*
- management.endpoints.web.exposure.exclude=env,beans
management.endpoints.web.exposure.include=* 설정 후 /actuator로 들어가서 확인해보면 아까보다 더 많은 정보가 보이는 것을 알 수 있다.
하지만 중요 정보들이 포함되어 있기 때문에,
보통은 시큐리티를 적용해 해당 페이지는 인증을 거쳐 확인할 수 있도록 한다.
하지만 여전히 눈으로 확인하기는 힘들다..
이후 포스팅에서 정리할 스프링 부트 어드민 페이지를 활용.