본문 바로가기
GD's IT Lectures : 기초부터 시리즈/스프링부트(Spring Boot) 기초부터 ~

[스프링 부트(SpringBoot)] 기본 배포 및 모니터링

by GDNGY 2023. 5. 3.

9. 기본 배포 및 모니터링

9.1. 실행 가능한 JAR 파일 생성 및 배포

스프링 부트는 실행 가능한 JAR 파일을 생성하여 간단하게 배포할 수 있습니다. 실행 가능한 JAR 파일은 내장된 웹 서버와 함께 애플리케이션을 실행할 수 있는 파일입니다. 이를 통해 복잡한 서버 구성이나 WAR 파일 배포를 생략할 수 있습니다.

 

  • JAR 파일 생성

프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 실행 가능한 JAR 파일을 생성할 수 있습니다.

./gradlew build

 

빌드 과정에서는 소스코드의 컴파일, 의존성 라이브러리 관리, 테스트 실행 등 다양한 과정이 수행됩니다. 빌드가 완료되면, build/libs 디렉토리에 실행 가능한 JAR 파일이 생성됩니다.

 

  • JAR 파일 실행

생성된 JAR 파일을 실행하려면 다음 명령어를 사용합니다.

java -jar build/libs/springboot-example-0.0.1-SNAPSHOT.jar

 

애플리케이션을 실행하면 웹 브라우저에서 http://localhost:8080에 접속하여 확인할 수 있습니다. 실행 가능한 JAR 파일로 배포하는 것은 서버 환경에 대한 종속성을 줄이고, 쉽게 배포 및 실행할 수 있는 장점이 있습니다.

 

9.2. 간단한 모니터링 도구 사용법

스프링 부트는 Actuator를 통해 애플리케이션의 상태와 메트릭을 모니터링할 수 있는 기능을 제공합니다. Actuator를 사용하면 애플리케이션의 성능 문제나 이슈를 신속하게 파악할 수 있습니다.

 

  • Actuator 의존성 추가

build.gradle 파일에 다음 의존성을 추가합니다.

implementation 'org.springframework.boot:spring-boot-starter-actuator'

 

Actuator 의존성을 추가하면 애플리케이션에 다양한 모니터링 기능이 통합됩니다.

 

  • Actuator 엔드포인트 활성화

application.properties 파일에 다음 설정을 추가하여 모든 Actuator 엔드포인트를 활성화합니다.

management.endpoints.web.exposure.include=*

 

설정을 추가하면, Actuator의 기본 엔드포인트 외에도 추가적인 엔드포인트를 사용할 수 있습니다.

 

  • Actuator 사용

Actuator를 통해 애플리케이션의 정보를 조회하려면 웹 브라우저에서 다음 주소로 접속하거나, CURL 명령어를 사용합니다.

Health : http://localhost:8080/actuator/health
Metrics : http://localhost:8080/actuator/metrics

또한 다양한 엔드포인트를 통해 애플리케이션의 상태를 체크하거나 메트릭 정보를 수집할 수 있습니다. 이를 통해 애플리케이션의 성능을 모니터링하고 문제가 발생할 경우 즉각 대응할 수 있습니다.

 

  • Actuator 커스터마이징

Actuator의 엔드포인트를 커스터마이징하려면 application.properties 파일에 설정을 추가합니다. 예를 들어, 애플리케이션의 정보를 표시하는 /info 엔드포인트에 빌드 정보를 추가하려면 다음과 같이 설정합니다.

info.app.name=Spring Boot Example
info.app.version=0.0.1-SNAPSHOT

 

이제 /actuator/info 엔드포인트에 접속하면 애플리케이션의 이름과 버전 정보를 확인할 수 있습니다.

 

스프링 부트를 사용하면 애플리케이션의 배포와 모니터링을 손쉽게 처리할 수 있습니다. 이를 통해 애플리케이션 개발의 생산성을 높일 수 있으며, 빠른 시간 안에 안정적인 서비스를 제공할 수 있습니다.

 

 

2023.05.03 - [프로그래밍/스프링부트(Spring Boot) 기초부터 ~] - [스프링 부트(SpringBoot)] 테스트 기초

 

반응형

댓글