기본구성되어 있는 스프링부트가 구동되면 JmxAutoConfiguration 구성이 구동된다. 이 JMX 구성 덕분에 로컬에서는 jconsole을 이용해서 애플리케이션의 상태를 모니터링할 수 있다.

오우!!

스프링부트 애플리케이션을 구동하고

구동될 때 구성을 살펴볼 수 있도록 application.propertiesdebug=true 속성을 부여하면 나오는 항목 중에 보면

JmxAutoConfiguration matched
     - @ConditionalOnClass classes found: org.springframework.jmx.export.MBeanExporter (OnClassCondition)
     - matched (OnPropertyCondition)
 
  JmxAutoConfiguration#mbeanExporter matched
     - @ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) found no beans (OnBeanCondition)
 
  JmxAutoConfiguration#mbeanServer matched
     - @ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) found no beans (OnBeanCondition)
 
  JmxAutoConfiguration#objectNamingStrategy matched
     - @ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) found no beans (OnBeanCondition)

들을 볼 수 있다.

스프링부트 애플리케이션 구동이 완료되고

로컬에 떠있는 프로세스들 중에서 살펴보려는 스프링부트 애플리케이션을 선택하고



연결이 완료되면 다음의 항목들을 볼 수 있다.








@_@) 지금까지는 성능이나 모니터링에 대해서 관심이 높지 않았는데 이에 대해서도 관심을 가져야겠다 싶어졌다.

흠... 아마, 운영에 대한 경험이 없기 때문이 무관심했던 것이 아닐까?

위에서 보여지는 그래프에 대한 정보는, 스프링부트에 액츄에이터actuator 기능을 추가하면 REST API로 로 /beans, /metrics 등의 정보로 제공되기도 한다.

프론트엔드쪽도 잘하면... 이를 이용해서 간단한 대시보드를 만들어볼텐데... @_@);;

+ Recent posts