스프링 부트(핵심 원리와 활용)

Ch07. 액츄에이터 - 애플리케이션 정보

webmaster 2023. 3. 29. 01:26
728x90

info 엔드포인트는 애플리케이션의 기본 정보를 노출한다.

기본으로 제공하는 기능들은 다음과 같다.

  • java : 자바 런타임 정보
  • os: OS 정보
  • env : Environment 에서 info. 로 시작하는 정보
  • build : 빌드 정보, META-INF/build-info.properties 파일이 필요하다.
  • git : git 정보, git.properties 파일이 필요하다.

env, java, os는 기본으로 비활성화되어 있다.

java, os

management:
  info:
    java:
      enabled: true
    os:
      enabled: true

java, os enable true

  • management.info.<id>.enabled 의 값을 true 로 지정하면 활성화 된다.
    • 주의!: management.endpoint 하위가 아니다. management 바로 다음에 info가 나온다.

env

management:
  info:
    env:
      enabled: true
info:
  app:
    name: hello-actuator
    company: yh

env enable true

  • Environment 에서 info. 로 시작하는 정보를 출력한다.

build

이번에는 빌드 정보를 노출해보자. 빌드 정보를 노출하려면 빌드 시점에 META-INF/build- info.properties 파일을 만들어야 한다.

build.gradle - 빌드 정보 추가

springBoot{
    buildInfo()
}

build-info 스크립트 추가

  • 빌드를 해보면 build 폴더안에 resources/main/META-INF/build-info.properties 파일을 확인할 수 있다
  • 실행 결과를 통해서 애플리케이션의 기본 정보와 버전 그리고 빌드된 시간을 확인할 수 있다.

git

앞서본 build와 유사하게 빌드 시점에 사용한 git 정보도 노출할 수 있다. git 정보를 노출하려면 git.properties 파일이 필요하다

build.gradle - git 정보 추가

plugins {
    id "com.gorylenko.gradle-git-properties" version "2.4.1" //git info
}

git 플러그인 추가

  • 프로젝트가 git 으로 관리되고 있어야 한다. 그렇지 않으면 빌드시 오류가 발생한다.
  • 빌드를 해보면 build 폴더안에 resources/main/git.properties 파일을 확인할 수 있다.
  • git 은 기본으로 활성화 되어 있기 때문에 이 파일만 있으면 바로 확인할 수 있다.
  • 실행 결과를 통해서 이 빌드는 main 브랜치와 ecaed95 커밋에서 만들어진 것을 확인할 수 있다.
    • 애플리케이션을 배포할 때 가끔 기대와 전혀 다르게 동작할 때가 있는데,(특정 기능이 빠져있다던가) 확인해보면 다른 커밋이나 다른 브랜치의 내용이 배포된 경우가 종종 있다. 이럴 때 큰 도움이 된다.

git에 대한 더 자세한 정보를 보고 싶다면 다음 옵션을 적용하면 된다.

management:
  info:
    git:
      mode: full #상세 보기

info 사용자 정의 기능 추가

info의 사용자 정의 기능을 추가하고 싶다면 다음 스프링 공식 매뉴얼을 참고하자

728x90