부트 개념과 활용-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로 들어가서 확인해보면 아까보다 더 많은 정보가 보이는 것을 알 수 있다.

하지만 중요 정보들이 포함되어 있기 때문에,
보통은 시큐리티를 적용해 해당 페이지는 인증을 거쳐 확인할 수 있도록 한다.

하지만 여전히 눈으로 확인하기는 힘들다..
이후 포스팅에서 정리할 스프링 부트 어드민 페이지를 활용.




© 2019. by jaeuk