logo

스프링 부트 스타터 액츄에이터

스프링 부트 액츄에이터

스프링 부트 액츄에이터 Spring Boot Framework의 하위 프로젝트입니다. 여기에는 Spring Boot 애플리케이션을 모니터링하고 관리하는 데 도움이 되는 다양한 추가 기능이 포함되어 있습니다. 여기에는 액추에이터 엔드포인트(리소스가 있는 장소)가 포함됩니다. 우리는 사용할 수 있습니다 HTTP 그리고 JMX Spring Boot 애플리케이션을 관리하고 모니터링하기 위한 엔드포인트입니다. 애플리케이션에서 즉시 사용 가능한 기능을 얻으려면 S를 사용해야 합니다. 프링 부트 액츄에이터.

스프링 부트 액츄에이터 기능

있다 스프링 부트 액츄에이터의 주요 기능:

    엔드포인트 측정항목 심사

끝점: 액추에이터 엔드포인트를 사용하면 애플리케이션을 모니터링하고 상호 작용할 수 있습니다. Spring Boot는 다양한 내장 엔드포인트를 제공합니다. 자체 엔드포인트를 만들 수도 있습니다. 각 엔드포인트를 개별적으로 활성화 및 비활성화할 수 있습니다. 대부분의 응용 프로그램을 선택합니다. HTTP , 여기서 끝점의 ID와 접두사 /액추에이터, URL에 매핑됩니다.

배열 자바

예를 들어, /건강 엔드포인트는 애플리케이션의 기본 상태 정보를 제공합니다. 기본적으로 액추에이터는 이를 다음과 같이 매핑했습니다. /액추에이터/건강 .

측정항목: Spring Boot Actuator는 마이크로미터 . 마이크로미터는 Spring Boot에 통합되어 있습니다. 이는 Spring에서 애플리케이션 메트릭 전달을 지원하는 계측 라이브러리입니다. 공급업체 중립적인 인터페이스를 제공합니다. 타이머, 게이지, 카운터, 배포 요약, 그리고 긴 작업 타이머 차원 데이터 모델을 사용합니다.

심사: Spring Boot는 이벤트를 게시하는 유연한 감사 프레임워크를 제공합니다. AuditEventRepository. 스프링 보안이 실행 중이면 자동으로 인증 이벤트를 게시합니다.

스프링 부트 액추에이터 활성화

종속성을 주입하여 액추에이터를 활성화할 수 있습니다. 스프링 부트 스타터 액츄에이터 pom.xml 파일에 있습니다.

 org.springframework.boot spring-boot-starter-actuator 2.2.2.RELEASE 

스프링 부트 액추에이터 끝점

Actuator 엔드포인트를 사용하면 Spring Boot 애플리케이션을 모니터링하고 상호 작용할 수 있습니다. Spring Boot에는 다수의 내장 엔드포인트가 포함되어 있으며 Spring Boot 애플리케이션에 사용자 정의 엔드포인트를 추가할 수도 있습니다.

다음 표에서는 널리 사용되는 엔드포인트에 대해 설명합니다.

ID 용법 기본
액추에이터 하이퍼미디어 기반의 서비스를 제공합니다. 검색 페이지 다른 끝점의 경우. 클래스 경로에 Spring HATEOAS가 있어야 합니다. 진실
감사 이벤트 현재 애플리케이션에 대한 감사 이벤트 정보를 노출합니다. 진실
자동 구성 모든 자동 구성 후보와 해당 후보가 '적용' 또는 '적용되지 않은' 이유를 보여주는 자동 구성 보고서를 표시하는 데 사용됩니다. 진실
이는 애플리케이션에 있는 모든 Spring 빈의 전체 목록을 표시하는 데 사용됩니다. 진실
구성 소품 모든 @ConfigurationProperties의 대조 목록을 표시하는 데 사용됩니다. 진실
덤프 스레드 덤프를 수행하는 데 사용됩니다. 진실
환경 이는 Spring의 ConfigurableEnvironment에서 속성을 노출하는 데 사용됩니다. 진실
이동 경로 적용된 Flyway 데이터베이스 마이그레이션을 표시하는 데 사용됩니다. 진실
건강 애플리케이션 상태 정보를 표시하는 데 사용됩니다. 거짓
정보 임의의 애플리케이션 정보를 표시하는 데 사용됩니다. 거짓
로거 애플리케이션에서 로거 구성을 표시하고 수정하는 데 사용됩니다. 진실
액상염기 적용된 Liquibase 데이터베이스 마이그레이션을 표시하는 데 사용됩니다. 진실
측정항목 현재 애플리케이션에 대한 메트릭 정보를 표시하는 데 사용됩니다. 진실
매핑 모든 @RequestMapping 경로의 조합된 목록을 표시하는 데 사용됩니다. 진실
일시 휴업 애플리케이션을 정상적으로 종료하는 데 사용됩니다. 진실
추적하다 추적 정보를 표시하는 데 사용됩니다. 진실

Spring MVC의 경우 다음과 같은 추가 엔드포인트가 사용됩니다.

ID 설명 기본
문서 이는 액추에이터의 엔드포인트에 대한 요청 및 응답 예시를 포함하여 문서를 표시하는 데 사용됩니다. 거짓
힙 덤프 GZip 압축 hprof 힙 덤프 파일을 반환하는 데 사용됩니다. 진실
졸로키아 이는 HTTP를 통해 JMX 빈을 노출하는 데 사용됩니다(Jolokia가 클래스 경로에 있는 경우). 진실
로그 파일 로그 파일의 내용을 반환하는 데 사용됩니다. 진실
프로메테우스 이는 Prometheus 서버에서 스크랩할 수 있는 형식으로 메트릭을 노출하는 데 사용됩니다. 마이크로미터-레지스트리-프로메테우스에 대한 종속성이 필요합니다. 진실

스프링 부트 액추에이터 속성

Spring Boot는 모든 Actuator 엔드포인트에 대한 보안을 활성화합니다. 그것은 사용한다 양식 기반 제공하는 인증 사용자 ID 사용자로서 무작위로 생성된 비밀번호 . 또한 엔드포인트에 대한 basicauth 보안을 사용자 정의하여 액츄에이터 제한 엔드포인트에 액세스할 수도 있습니다. 이 구성을 다음으로 재정의해야 합니다. 관리.보안.역할 재산. 예를 들어:

 management.security.enabled=true management.security.roles=ADMIN security.basic.enabled=true security.user.name=admin security.user.passowrd=admin 

스프링 부트 액추에이터 예

예제를 통해 액츄에이터의 개념을 이해해보자.

안드로이드에 숨겨진 앱 어떻게 찾나요?

1 단계: 스프링 이니셜라이저 열기 https://start.spring.io/ 그리고 메이븐 프로젝트.

2 단계: 제공 그룹 이름. 우리는 제공했습니다 com.javatpoint.

3단계: 제공 인공물 ID. 우리는 스프링 부트 액츄에이터 예시.

4단계: 다음 종속성을 추가합니다. 스프링 웹, 스프링 부트 스타터 액츄에이터, 그리고 Spring 데이터 나머지 HAL 브라우저 .

5단계: 다음을 클릭하세요. 생성하다 단추. 생성 버튼을 클릭하면 프로젝트와 관련된 모든 사양이 항아리 파일을 다운로드하여 로컬 시스템에 다운로드합니다.

스프링 부트 스타터 액츄에이터

6단계: Jar 파일을 추출하여 STS 작업공간에 붙여넣습니다.

int로 변환

7단계: 프로젝트 폴더를 가져옵니다.

파일 -> 가져오기 -> 기존 Maven 프로젝트 -> 찾아보기 -> spring-boot-actuator-example 폴더 선택 -> 완료

가져오는 데 시간이 좀 걸립니다. 프로젝트를 가져온 후 패키지 탐색기 섹션에서 프로젝트 디렉터리를 볼 수 있습니다.

스프링 부트 스타터 액츄에이터

8단계: 컨트롤러 클래스를 만듭니다. DemoRestController라는 이름의 컨트롤러 클래스를 만들었습니다.

DemoRestController.java

하이브가 뭐야?
 package com.javatpoint; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoRestController { @GetMapping('/hello') public String hello() { return 'Hello User!'; } } 

9단계: 열기 애플리케이션.속성 다음 명령문을 추가하여 액츄에이터의 보안 기능을 파일에 저장하고 비활성화합니다.

애플리케이션.속성

 management.security.enabled=false 

10단계: 실행 SpringBootActuatorExampleApplication.java 파일.

11단계: 브라우저를 열고 URL http://localhost:8080/actuator를 호출합니다. 다음 페이지가 반환됩니다.

 {'_links':{'self':{'href':'http://localhost:8080/actuator','templated':false},'health':{'href':'http://localhost:8080/actuator/health','templated':false},'health-path':{'href':'http://localhost:8080/actuator/health/{*path}','templated':true},'info':{'href':'http://localhost:8080/actuator/info','templated':false}}} 

애플리케이션은 기본적으로 포트 8080에서 실행됩니다. 액추에이터가 시작되면 HTTP를 통해 노출된 모든 엔드포인트 목록을 볼 수 있습니다.

호출해보자 건강 URL http://localhost:8080/actuator/health를 호출하여 엔드포인트를 생성합니다. 상태를 나타냅니다. 위로 . 이는 애플리케이션이 정상적이고 중단 없이 실행되고 있음을 의미합니다.

스프링 부트 스타터 액츄에이터

마찬가지로 Spring Boot 애플리케이션을 모니터링하고 관리하는 데 도움이 되는 다른 엔드포인트를 호출할 수 있습니다.

자바 난수

프로젝트 다운로드