부트 개념과 활용-34.스프링 부트 어드민(스프링 부트 운영)
스프링 부트 Actuator 3부: 스프링 부트 어드민
스프링 부트 어드민은 스프링 진영에서 제공하는 프로젝트가 아니라, 제 3자가 오픈소스로 제공한다.
앞선 포스팅의 Actuator 정보들을 UI에서 확인할 수 있게 해 준다.
실습
서버가 하나 필요. https://www.baeldung.com/spring-boot-admin
https://github.com/codecentric/spring-boot-admin
스프링 부트 Actuator UI 제공 어드민 서버 설정
admin 서버
의존성 추가 (버전 호환성때문에 애먹음 버전 잘 확인할것.)
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.0.1</version>
</dependency>
@EnableAdminServer 설정
@SpringBootApplication
@EnableAdminServer
public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
}
}
클라이언트
마찬가지로 버전 호환 주의..
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
...
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.0.1</version>
</dependency>
spring.boot.admin.client.url=http://localhost:8080
server.port=18080
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
서버에 현재 떠있는 클라이언트가 조회되고, 들어가면 상세한 정보들을 볼 수 있다.
운영중인 시스템의 로그레벨을 바꾸고 적용시킨다던가, 현재 스레드, 메모리, http trace, 스레드의 덤프까지 뜰 수 있다.