티스토리 뷰

반응형

서버의 상태를 체크하기 위해 주로 헬스 체크라는 개념으로 많이 사용을 하는데 이번 글에서는 Spring 에서 제공해주는 Actuator라는 라이브러리를 사용하려고 합니다. 액추에이터라도고 읽는데 위키 백과에는 다음과 같이 나와 있습니다.

먼저 build.gradle에 아래와 같은 속성을 추가해줍니다.

implementation('org.springframework.boot:spring-boot-starter-actuator')
  • Health Check 기능은 spring-boot-starter-actuator 라이브러리의 기능 중 하나이므로 사용하려면 actuator 라이브러리를 추가해야합니다.
  • spring-boot-starter-actuator 라이브러리는 Spring Boot 버전과 동일한 버전을 사용해야 합니다.
management:
  endpoints:
    web:
      base-path: /application
      path-mapping:
        health: healthcheck
  endpoint:
    health:
      show-details: always
  • base-path: actuator의 base path를 설정합니다. (기본값은 /actuator)
  • path-mapping.health: health-check end point (기본값은 health)
  • show-details: health check API에 접근할 때 세부 정보를 확인합니다.
  • never, when-authorized, always (기본값은 never)

show-details 를 설정하지 않으면 아래와 같이 출력됩니다.

{"status":"UP"}

설정하면 아래와 같이 보다 상세한 내용이 출력됩니다.

{
   "status":"UP",
   "components":{
      "db":{
         "status":"UP",
         "details":{
            "database":"MySQL",
            "result":1,
            "validationQuery":"/* ping */ SELECT 1"
         }
      },
      "diskSpace":{
         "status":"UP",
         "details":{
            "total":312201752576,
            "free":300832022528,
            "threshold":10485760
         }
      },
      "ping":{
         "status":"UP"
      },
      "redis":{
         "status":"UP",
         "details":{
            "version":"5.0.7"
         }
      }
   }
}
  • show-details always로 설정

그리고 Mail 자동 발송을 사용하기 위해 587 포트 (SMTP 포트)가 살아있는지도 확인하는데 이 옵션을 끄는 방법은 application.yml에 아래의 내용을 추가해주면 됩니다.

management:
   health:
      mail:
         enabled: false
반응형
댓글
공지사항