5.6. 측정 항목
Spring Boot Actuator는 다음을 포함하여 수많은 모니터링 시스템 을 지원하는 애플리케이션 지표 외관 인 Micrometer에 대한 종속성 관리 및 자동 구성을 제공합니다 .
Micrometer의 기능에 대한 자세한 내용은 참조 설명서 , 특히 개념 섹션을 참조하십시오 . |
5.6.1. 시작하기
Spring Boot는 컴포지트를 자동 구성 MeterRegistry
하고 클래스 경로에서 찾은 지원되는 각 구현에 대해 컴포지트에 레지스트리를 추가합니다. micrometer-registry-{system}
런타임 클래스 경로 에 의존하는 것으로 스프링 부트가 레지스트리를 구성하기에 충분합니다.
대부분의 레지스트리는 공통 기능을 공유합니다. 예를 들어, Micrometer 레지스트리 구현이 클래스 경로에 있어도 특정 레지스트리를 비활성화 할 수 있습니다. 예를 들어, Datadog을 비활성화하려면 :
management.metrics.export.datadog.enabled=false
스프링 부트는 또한 Metrics
다음과 같이 명시 적으로 지시하지 않는 한 , 자동 설정 레지스트리를 클래스 의 전역 정적 복합 레지스트리에 추가합니다 .
management.metrics.use-global-registry=false
MeterRegistryCustomizer
미터를 레지스트리에 등록하기 전에 공통 태그 적용과 같이 레지스트리를 추가로 구성하기 위해 원하는 수의 Bean을 등록 할 수 있습니다.
@Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("region", "us-east-1");
}
일반 유형에 대해보다 구체적으로 지정하여 특정 레지스트리 구현에 사용자 정의를 적용 할 수 있습니다.
@Bean
MeterRegistryCustomizer<GraphiteMeterRegistry> graphiteMetricsNamingConvention() {
return registry -> registry.config().namingConvention(MY_CUSTOM_CONVENTION);
}
해당 설정을 MeterRegistry
통해 구성 요소를 주입 하고 메트릭을 등록 할 수 있습니다 .
@Component
public class SampleBean {
private final Counter counter;
public SampleBean(MeterRegistry registry) {
this.counter = registry.counter("received.messages");
}
public void handleMessage(String message) {
this.counter.increment();
// handle message implementation
}
}
5.6.2. 지원되는 모니터링 시스템
AppOptics
기본적으로 AppOptics 레지스트리는 메트릭을 api.appoptics.com/v1/measurements
주기적으로 푸시 합니다. SaaS AppOptics로 지표를 내보내 려면 API 토큰이 제공되어야합니다.
management.metrics.export.appoptics.api-token=YOUR_TOKEN
아틀라스
management.metrics.export.atlas.uri=https://atlas.example.com:7101/api/v1/publish
데이터 도그
Datadog Registry는 주기적으로 메트릭을 datadoghq로 푸시 합니다. 메트릭을 Datadog으로 내보내 려면 API 키가 제공되어야합니다.
management.metrics.export.datadog.api-key=YOUR_KEY
메트릭이 Datadog으로 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.datadog.step=30s
다이나 트레이스
Dynatrace 레지스트리는 정기적으로 구성된 URI로 메트릭을 푸시합니다. 지표를 Dynatrace로 내보내 려면 API 토큰, 디바이스 ID 및 URI가 제공되어야합니다.
management.metrics.export.dynatrace.api-token=YOUR_TOKEN
management.metrics.export.dynatrace.device-id=YOUR_DEVICE_ID
management.metrics.export.dynatrace.uri=YOUR_URI
Dynatrace에 지표가 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.dynatrace.step=30s
탄력있는
기본적으로 지표는 로컬 컴퓨터에서 실행중인 Elastic 로 내보내집니다 . 사용할 Elastic 서버의 위치는 다음 속성을 사용하여 제공 할 수 있습니다.
management.metrics.export.elastic.host=https://elastic.example.com:8086
갱 리아
management.metrics.export.ganglia.host=ganglia.example.com
management.metrics.export.ganglia.port=9649
석묵
management.metrics.export.graphite.host=graphite.example.com
management.metrics.export.graphite.port=9004
마이크로 미터는 HierarchicalNameMapper
치수 미터 ID가 평평한 계층 이름에 매핑되는 방법을 제어하는 기본값 을 제공 합니다 .
이 동작을 제어하려면 GraphiteMeterRegistry 자신을 정의 하고 자신을 제공하십시오 HierarchicalNameMapper . 사용자가 직접 정의하지 않으면 자동 구성 GraphiteConfig 및 Clock Bean이 제공됩니다. |
@Bean
public GraphiteMeterRegistry graphiteMeterRegistry(GraphiteConfig config, Clock clock) {
return new GraphiteMeterRegistry(config, clock, MY_HIERARCHICAL_MAPPER);
}
후미오
기본적으로 Humio 레지스트리는 주기적으로 지표를 cloud.humio.com 으로 푸시 합니다. SaaS Humio로 메트릭을 내보내 려면 API 토큰이 제공되어야합니다.
management.metrics.export.humio.api-token=YOUR_TOKEN
또한 메트릭을 푸시 할 데이터 소스를 식별하도록 하나 이상의 태그를 구성해야합니다.
management.metrics.export.humio.tags.alpha=a
management.metrics.export.humio.tags.bravo=b
유입
management.metrics.export.influx.uri=https://influx.example.com:8086
JMX
Micrometer는 주로 메트릭스를 로컬에서 볼 수있는 저렴하고 이식 가능한 방법으로 JMX에 대한 계층 적 매핑을 제공합니다 . 기본적으로 메트릭은 metrics
JMX 도메인으로 내보내집니다 . 사용할 도메인은 다음을 사용하여 제공 할 수 있습니다.
management.metrics.export.jmx.domain=com.example.app.metrics
마이크로 미터는 HierarchicalNameMapper
치수 미터 ID가 평평한 계층 이름에 매핑되는 방법을 제어하는 기본값 을 제공 합니다 .
이 동작을 제어하려면 JmxMeterRegistry 자신을 정의 하고 자신을 제공하십시오 HierarchicalNameMapper . 사용자가 직접 정의하지 않으면 자동 구성 JmxConfig 및 Clock Bean이 제공됩니다. |
@Bean
public JmxMeterRegistry jmxMeterRegistry(JmxConfig config, Clock clock) {
return new JmxMeterRegistry(config, clock, MY_HIERARCHICAL_MAPPER);
}
카이로스 DB
기본적으로 메트릭은 로컬 시스템에서 실행 되는 KairosDB 로 내보내집니다 . 사용할 KairosDB 서버 의 위치는 다음 을 사용하여 제공 할 수 있습니다.
management.metrics.export.kairos.uri=https://kairosdb.example.com:8080/api/v1/datapoints
새로운 유물
New Relic Registry는 주기적으로 메트릭을 New Relic에 푸시 합니다. 메트릭을 New Relic로 내보내 려면 API 키와 계정 ID가 제공되어야합니다.
management.metrics.export.newrelic.api-key=YOUR_KEY
management.metrics.export.newrelic.account-id=YOUR_ACCOUNT_ID
메트릭이 New Relic로 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.newrelic.step=30s
기본적으로 메트릭은 REST 호출을 통해 공개되지만 클래스 경로에 Java 에이전트 API가있는 경우이를 사용할 수도 있습니다.
management.metrics.export.newrelic.client-provider-type=insights-agent
마지막으로, 자신의 NewRelicClientProvider
bean 을 정의하여 모든 권한을 가질 수 있습니다 .
프로 메테우스
Prometheus 는 메트릭을 위해 개별 앱 인스턴스를 긁거나 폴링 할 것으로 예상합니다. Spring Boot는 Prometheus 스크랩 을 적절한 형식 /actuator/prometheus
으로 제시 할 수있는 액추에이터 엔드 포인트를 제공 합니다.
엔드 포인트는 기본적으로 사용 가능하지 않으며 노출되어야합니다 . 자세한 내용 은 엔드 포인트 노출 을 참조하십시오. |
scrape_config
추가 할 예제는 다음과 같습니다 prometheus.yml
.
scrape_configs:
- job_name: 'spring'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['HOST:PORT']
폐기 될 정도로 오래 존재하지 않는 임시 작업 또는 배치 작업의 경우 Prometheus Pushgateway 지원을 사용하여 메트릭을 Prometheus에 노출 할 수 있습니다. Prometheus Pushgateway 지원을 활성화하려면 프로젝트에 다음 종속성을 추가하십시오.
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_pushgateway</artifactId>
</dependency>
클래스 경로에 Prometheus Pushgateway 종속성이 존재하면 Spring Boot는 PrometheusPushGatewayManager
Bean을 자동 구성합니다 . 이를 통해 Prometheus Pushgateway에 대한 메트릭 푸시를 관리합니다. 의 PrometheusPushGatewayManager
속성을 사용하여 조정할 수 있습니다 management.metrics.export.prometheus.pushgateway
. 고급 구성의 경우 고유 한 PrometheusPushGatewayManager
Bean을 제공 할 수도 있습니다 .
SignalFx
management.metrics.export.signalfx.access-token=YOUR_ACCESS_TOKEN
지표가 SignalFx로 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.signalfx.step=30s
단순한
Micrometer는 다른 레지스트리가 구성되지 않은 경우 폴백으로 자동으로 사용되는 단순한 메모리 내 백엔드와 함께 제공됩니다. 이를 통해 메트릭 엔드 포인트 에서 어떤 메트릭이 수집되는지 확인할 수 있습니다 .
사용 가능한 다른 백엔드를 사용하는 즉시 인 메모리 백엔드가 비활성화됩니다. 명시 적으로 비활성화 할 수도 있습니다.
management.metrics.export.simple.enabled=false
스택 드라이버
Stackdriver Registry는 정기적으로 메트릭을 Stackdriver에 푸시 합니다. SaaS Stackdriver로 지표를 내보내 려면 Google 클라우드 프로젝트 ID가 제공되어야합니다.
management.metrics.export.stackdriver.project-id=my-project
메트릭이 Stackdriver로 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.stackdriver.step=30s
통계
StatsD 레지스트리는 UDP를 통해 메트릭을 StatsD 에이전트로 열심히 푸시합니다. 기본적으로 메트릭은 로컬 시스템에서 실행중인 StatsD 에이전트 로 내보내집니다 . 사용할 StatsD 에이전트 호스트 및 포트는 다음을 사용하여 제공 할 수 있습니다.
management.metrics.export.statsd.host=statsd.example.com
management.metrics.export.statsd.port=9125
StatsD 회선 프로토콜을 사용하도록 변경할 수도 있습니다 (기본값은 Datadog).
management.metrics.export.statsd.flavor=etsy
파면
Wavefront Registry는 주기적으로 지표를 Wavefront에 푸시 합니다. 메트릭을 Wavefront로 직접 내보내는 경우 API 토큰이 제공되어야합니다.
management.metrics.export.wavefront.api-token=YOUR_API_TOKEN
또는 지표 데이터를 Wavefront API 호스트로 전달하는 환경에서 Wavefront 사이드카 또는 내부 프록시 설정을 사용할 수 있습니다.
management.metrics.export.wavefront.uri=proxy://localhost:2878
문서에 설명 된대로 메트릭을 Wavefront 프록시에 게시하는 경우 호스트 proxy://HOST:PORT 형식 이어야 합니다. |
Wavefront로 지표가 전송되는 간격을 변경할 수도 있습니다.
management.metrics.export.wavefront.step=30s
5.6.3. 지원되는 지표
Spring Boot는 적용 가능한 경우 다음 핵심 메트릭을 등록합니다.
- JVM 메트릭, 보고서 활용도 :
- 다양한 메모리 및 버퍼 풀
- 가비지 수집 관련 통계
- 쓰레드 활용
- 로드 / 언로드 된 클래스 수
- CPU 메트릭
- 파일 디스크립터 메트릭
- 카프카 소비자 통계
- Log4j2 메트릭 : 각 레벨에서 Log4j2에 기록 된 이벤트 수 기록
- 로그 백 메트릭 : 각 레벨에서 로그 백에 기록 된 이벤트 수를 기록
- 가동 시간 메트릭 : 가동 시간에 대한 게이지와 응용 프로그램의 절대 시작 시간을 나타내는 고정 게이지를보고합니다.
- Tomcat 지표 ( 모든 Tomcat 지표를 등록
server.tomcat.mbeanregistry.enabled
하려면로 설정해야 함true
) - 스프링 통합 메트릭
스프링 MVC 지표
자동 구성을 통해 Spring MVC가 처리하는 요청을 계측 할 수 있습니다. 때 management.metrics.web.server.request.autotime.enabled
이다 true
,이 장비는 모든 요청에 대해 발생합니다. 또는로 설정된 경우 요청 처리 방법 false
에 추가 @Timed
하여 계측을 활성화 할 수 있습니다 .
@RestController
@Timed (1)
public class MyController {
@GetMapping("/api/people")
@Timed(extraTags = { "region", "us-east-1" }) (2)
@Timed(value = "all.people", longTask = true) (3)
public List<Person> listPeople() { ... }
}
1 | 컨트롤러의 모든 요청 핸들러에서 타이밍을 사용 가능하게하는 컨트롤러 클래스입니다. |
2 | 개별 엔드 포인트를 활성화하는 방법입니다. 클래스에있는 경우에는 필요하지 않지만이 특정 엔드 포인트에 대한 타이머를 추가로 사용자 정의하는 데 사용할 수 있습니다. |
3 | 메소드 longTask = true 에 긴 태스크 타이머를 사용하는 메소드입니다. 긴 작업 타이머에는 별도의 메트릭 이름이 필요하며 짧은 작업 타이머와 함께 누적 될 수 있습니다. |
기본적으로 메트릭은 이름으로 생성됩니다 http.server.requests
. management.metrics.web.server.request.metric-name
속성 을 설정하여 이름을 사용자 정의 할 수 있습니다 .
기본적으로 Spring MVC 관련 메트릭은 다음 정보로 태그 지정됩니다.
꼬리표 | 기술 |
---|---|
|
요청을 처리하는 동안 발생한 예외의 단순 클래스 이름입니다. |
|
요청 방법 (예 : |
|
응답의 상태 코드를 기반으로 한 요청의 결과. 1xx는 |
|
응답의 HTTP 상태 코드 (예 : |
|
가능한 경우 변수 대체 이전의 요청 URI 템플릿 (예 |
기본 태그에 추가하려면 하나 이상을 제공하십시오 @Bean`s that implement `WebMvcTagsContributor
. 기본 태그를 바꾸려면 @Bean
구현 하는 을 제공하십시오 WebMvcTagsProvider
.
스프링 WebFlux 지표
자동 구성을 통해 WebFlux 컨트롤러 및 기능 처리기가 처리하는 모든 요청을 계측 할 수 있습니다.
기본적으로 메트릭은 이름으로 생성됩니다 http.server.requests
. management.metrics.web.server.request.metric-name
속성 을 설정하여 이름을 사용자 정의 할 수 있습니다 .
기본적으로 WebFlux 관련 메트릭은 다음 정보로 태그 지정됩니다.
꼬리표 | 기술 |
---|---|
|
요청을 처리하는 동안 발생한 예외의 단순 클래스 이름입니다. |
|
요청 방법 (예 : |
|
응답의 상태 코드를 기반으로 한 요청의 결과. 1xx는 |
|
응답의 HTTP 상태 코드 (예 : |
|
가능한 경우 변수 대체 이전의 요청 URI 템플릿 (예 |
기본 태그에 추가하려면 하나 이상을 제공하십시오 @Bean`s that implement `WebFluxTagsContributor
. 기본 태그를 바꾸려면 @Bean
구현 하는 을 제공하십시오 WebFluxTagsProvider
.
저지 서버 지표
Micrometer의 micrometer-jersey2
모듈이 클래스 경로에 있으면 자동 구성을 통해 Jersey JAX-RS 구현에서 처리 한 요청을 계측 할 수 있습니다. 때 management.metrics.web.server.request.autotime.enabled
이다 true
,이 장비는 모든 요청에 대해 발생합니다. 또는로 설정된 경우 요청 처리 방법 false
에 추가 @Timed
하여 계측을 활성화 할 수 있습니다 .
@Component
@Path("/api/people")
@Timed (1)
public class Endpoint {
@GET
@Timed(extraTags = { "region", "us-east-1" }) (2)
@Timed(value = "all.people", longTask = true) (3)
public List<Person> listPeople() { ... }
}
1 | 자원의 모든 요청 핸들러에서 타이밍을 사용 가능하게하는 자원 클래스 |
2 | 개별 엔드 포인트를 활성화하는 방법 클래스에있는 경우에는 필요하지 않지만이 특정 엔드 포인트에 대한 타이머를 추가로 사용자 정의하는 데 사용할 수 있습니다. |
3 | 방법에 longTask = true 대한 긴 작업 타이머를 활성화하는 방법 긴 작업 타이머에는 별도의 메트릭 이름이 필요하며 짧은 작업 타이머와 함께 누적 될 수 있습니다. |
기본적으로 메트릭은 이름으로 생성됩니다 http.server.requests
. management.metrics.web.server.request.metric-name
속성 을 설정하여 이름을 사용자 정의 할 수 있습니다 .
기본적으로 Jersey 서버 메트릭에는 다음 정보가 포함됩니다.
꼬리표 | 기술 |
---|---|
|
요청을 처리하는 동안 발생한 예외의 단순 클래스 이름입니다. |
|
요청 방법 (예 : |
|
응답의 상태 코드를 기반으로 한 요청의 결과. 1xx는 |
|
응답의 HTTP 상태 코드 (예 : |
|
가능한 경우 변수 대체 이전의 요청 URI 템플릿 (예 |
태그를 사용자 정의하려면 @Bean
구현 하는 을 제공하십시오 JerseyTagsProvider
.
HTTP 클라이언트 지표
Spring Boot Actuator는 RestTemplate
및 의 계측을 관리합니다 WebClient
. 이를 위해 자동 구성된 빌더를 주입하고이를 사용하여 인스턴스를 작성해야합니다.
RestTemplateBuilder
...에 대한RestTemplate
WebClient.Builder
...에 대한WebClient
수동으로 맞춤 설정 즉,이 장비에 대한 책임을 적용하는 것도 가능하다 MetricsRestTemplateCustomizer
와 MetricsWebClientCustomizer
.
기본적으로 메트릭은 이름으로 생성됩니다 http.client.requests
. management.metrics.web.client.request.metric-name
속성 을 설정하여 이름을 사용자 정의 할 수 있습니다 .
기본적으로 인스트루먼트 된 클라이언트가 생성 한 지표에는 다음 정보가 태그로 표시됩니다.
꼬리표 | 기술 |
---|---|
|
URI의 호스트 부분 |
|
요청 방법 (예 : |
|
응답의 상태 코드를 기반으로 한 요청의 결과. 1XX이다 |
|
응답의 HTTP 상태 코드 경우 (예를 들어, 사용 가능 |
|
가능한 경우 변수 대체 이전의 요청 URI 템플릿 (예 |
태그를 사용자 정의하려면, 클라이언트의 선택에 따라, 당신은 제공 할 수있는 @Bean
그 구현을 RestTemplateExchangeTagsProvider
하거나 WebClientExchangeTagsProvider
. RestTemplateExchangeTags
및에 편리한 정적 함수가 WebClientExchangeTags
있습니다.
캐시 메트릭
자동 구성을 통해 Cache
시작시 메트릭이 접두사로 사용 가능한 모든 장치를 계측 할 수 있습니다 cache
. 캐시 계측은 기본 메트릭 집합에 대해 표준화되어 있습니다. 추가 캐시 특정 메트릭도 사용할 수 있습니다.
다음과 같은 캐시 라이브러리가 지원됩니다.
- 카페인
- EhCache 2
- 헤이젤 캐스트
- 모든 호환 JCache (JSR-107) 구현
메트릭은 캐시 이름과 CacheManager
Bean 이름에서 파생 된 이름으로 태그가 지정됩니다 .
시작시 구성된 캐시 만 레지스트리에 바인딩됩니다. 캐시 구성에 정의되지 않은 캐시 (예 : 시작 단계 이후 또는 프로그래밍 방식으로 생성 된 캐시)의 경우 명시 적 등록이 필요합니다. CacheMetricsRegistrar 빈은 쉽게 그 과정을 만들기 위해 사용할 수 있습니다. |
데이터 소스 측정 항목
자동 구성을 사용하면 DataSource
접두사가 앞에 붙은 사용 가능한 모든 개체를 계측 할 수 있습니다 jdbc.connections
. 데이터 소스 계측은 풀에서 현재 활성, 유휴, 최대 허용 및 최소 허용 연결을 나타내는 게이지가됩니다.
메트릭은 DataSource
Bean 이름을 기반으로 계산 된 이름으로 태그됩니다 .
기본적으로 Spring Boot는 지원되는 모든 데이터 소스에 메타 데이터를 제공합니다. DataSourcePoolMetadataProvider 자주 사용하는 데이터 소스가 기본적으로 지원되지 않는 경우 추가 Bean을 추가 할 수 있습니다 . DataSourcePoolMetadataProvidersConfiguration 예를 참조하십시오 . |
또한 Hikari 관련 메트릭은 hikaricp
접두사 로 노출됩니다 . 각 메트릭은 풀 이름으로 태그가 지정됩니다 (로 제어 가능 spring.datasource.name
).
최대 절전 모드
자동 구성을 사용하면 EntityManagerFactory
이름이 지정된 메트릭으로 통계가 활성화 된 사용 가능한 모든 최대 절전 모드 인스턴스를 계측 할 수 있습니다 hibernate
.
또한 메트릭은 EntityManagerFactory
Bean 이름에서 파생 된 이름으로 태그가 지정됩니다 .
통계를 사용하려면 표준 JPA 특성 hibernate.generate_statistics
을로 설정해야합니다 true
. EntityManagerFactory
다음 예제와 같이 자동 구성에서이를 활성화 할 수 있습니다 .
spring.jpa.properties.hibernate.generate_statistics=true
RabbitMQ 지표
자동 구성을 통해 사용 가능한 모든 RabbitMQ 연결 팩토리를 미터법으로 사용할 수 있습니다 rabbitmq
.
5.6.4. 맞춤 측정 항목 등록
맞춤 측정 항목을 등록하려면 MeterRegistry
다음 예와 같이 구성 요소에 삽입 하십시오.
class Dictionary {
private final List<String> words = new CopyOnWriteArrayList<>();
Dictionary(MeterRegistry registry) {
registry.gaugeCollectionSize("dictionary.size", Tags.empty(), this.words);
}
// …
}
구성 요소 또는 응용 프로그램에서 일련의 메트릭을 반복적으로 계측하는 경우 MeterBinder
구현 에서이 제품군을 캡슐화 할 수 있습니다 . 기본적으로 모든 MeterBinder
Bean의 메트릭 은 Spring 관리 형에 자동으로 바인딩됩니다 MeterRegistry
.
5.6.5. 개별 측정 항목 사용자 정의
특정 Meter
인스턴스에 사용자 정의를 적용해야하는 경우 io.micrometer.core.instrument.config.MeterFilter
인터페이스를 사용할 수 있습니다 . 기본적으로 모든 MeterFilter
bean은 마이크로 미터에 자동으로 적용됩니다 MeterRegistry.Config
.
예를 들어로 시작하는 모든 미터 ID 의 mytag.region
태그 이름을 바꾸려면 다음을 수행하십시오.mytag.area
com.example
@Bean
public MeterFilter renameRegionTagMeterFilter() {
return MeterFilter.renameTag("com.example", "mytag.region", "mytag.area");
}
공통 태그
공통 태그는 일반적으로 호스트, 인스턴스, 리전, 스택 등과 같은 운영 환경에서 차원 드릴 다운에 사용됩니다. 공통 태그는 모든 미터에 적용되며 다음 예제와 같이 구성 할 수 있습니다.
management.metrics.tags.region=us-east-1
management.metrics.tags.stack=prod
위의 예는 추가 region
하고 stack
(A)의 값으로 모든 미터에 태그 us-east-1
와 prod
각각.
Graphite를 사용하는 경우 공통 태그의 순서가 중요합니다. 이 방법을 사용하면 공통 태그의 순서를 보장 할 수 없으므로 Graphite 사용자는 MeterFilter 대신 사용자 정의를 정의하는 것이 좋습니다 . |
미터당 속성
MeterFilter
Bean 외에도 특성을 사용하여 미터 단위로 제한된 사용자 정의 세트를 적용 할 수도 있습니다. 미터당 사용자 정의는 주어진 이름으로 시작하는 모든 미터 ID에 적용됩니다. 예를 들어 다음은 ID로 시작하는 미터를 비활성화합니다.example.remote
management.metrics.enable.example.remote=false
다음 속성은 미터당 사용자 정의를 허용합니다.
특성 | 기술 |
---|---|
|
미터가 메트릭을 방출하지 못하도록할지 여부 |
|
차원에 따라 집계 할 수있는 백분위 수 근사를 계산하는 데 적합한 히스토그램을 게시할지 여부 |
|
예상 값 범위를 고정하여 히스토그램 버킷을 줄입니다. |
|
응용 프로그램에서 계산 된 백분위 수 값 게시 |
|
서비스 수준 목표에 따라 정의 된 버킷으로 누적 히스토그램을 게시하십시오. |
뒤에 개념에 대한 자세한 내용은 percentiles-histogram
, percentiles
그리고 sla
참고하여주십시오 "히스토그램 및 백분위"섹션 마이크로 미터 문서.
5.6.6. 측정 항목 끝점
Spring Boot는 진 metrics
단적으로 사용하여 응용 프로그램에서 수집 한 메트릭을 검사 할 수 있는 엔드 포인트를 제공합니다 . 엔드 포인트는 기본적으로 사용 가능하지 않으며 노출되어야합니다 . 자세한 내용 은 엔드 포인트 노출 을 참조하십시오.
탐색하면 /actuator/metrics
사용 가능한 미터 이름 목록이 표시됩니다. 예를 들어, 선택기로 이름을 제공하여 특정 미터에 대한 정보를 드릴 다운 할 수 있습니다 /actuator/metrics/jvm.memory.max
.
여기에서 사용하는 이름은 코드에 사용 된 이름과 일치해야합니다. 이름은 선적 된 모니터링 시스템에 대해 명명 컨벤션이 정규화 된 후의 이름이 아닙니다. 다시 말해, 뱀 사례 명명 규칙으로 인해 Prometheus에서 |
또한 tag=KEY:VALUE
URL 끝에 여러 개의 검색어 매개 변수를 추가 하여 미터 단위로 차원을 드릴 다운 할 수 있습니다 ( 예 :) /actuator/metrics/jvm.memory.max?tag=area:nonheap
.
보고 된 측정치는 미터 이름 및 적용된 태그와 일치하는 모든 미터의 통계의 합 입니다. 따라서 위의 예에서 반환 된 "값"통계는 힙의 "코드 캐시", "압축 된 클래스 공간"및 "메타 스페이스"영역의 최대 메모리 공간을 합한 것입니다. 그냥 "Metaspace"에 대한 최대 크기를보고 싶어하면 추가로 추가 할 수 있습니다 |
Spring Boot Reference DocumentationPhillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, Andy Wilkinson, Marcel Overdijk, Christian Dupuis, Sébastien Deleuze, Michael Simons, Vedran Pavić, Jay Bryant, Madhura Bhave, Eddú Meléndez, Scott FrederickLegal2.3.1.RELEASE Copyright © 2012-2020 Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. |
출처 : https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/#production-ready-metrics
'IT > SpringBoot' 카테고리의 다른 글
스프링 부트 #6.애플리케이션 배포 (0) | 2020.06.19 |
---|---|
스프링 부트 #5.7. Auditing (0) | 2020.06.19 |
스프링 부트 #5.3. 모니터링 및 관리 (0) | 2020.06.19 |
스프링 부트 #5.Actuator (0) | 2020.06.19 |
스프링 부트 #4.30. 코틀린 지원 (0) | 2020.06.16 |