// yml 에 추가
// shutdown 엔드포인트 활성화 예시
management:
endpoint:
shutdown:
enabled: true
// yml 에 추가
// 모든 endpoints 들을 web (http) 에 노출 예시
management:
endpoints:
web:
exposure:
include: "*"
애플리케이션 헬스 정보 상세히 보기
// yml 에 추가
management:
endpoint:
health:
show-details: always
os, java 정보 확인
// yml 에 추가
management:
info:
java:
enabled: true
os:
enabled: true
build 정보 확인
// build.gradle 에 추가
springBoot {
buildInfo()
}
현재 build 된 git 정보 확인
// build.gradle 에 plugin 추가
plugins {
id "com.gorylenko.gradle-git-properties" version "2.4.1"
}
실시간 로그레벨 변경 가능
post 요청을 통해 실시간으로 로그레벨을 변경 가능하다.
url : http://localhost:8080/actuator/loggers/me.jaden.actuator.controller
body(json) :
{
"configuredLevel" : "TRACE"
}
// yml에 추가
management:
server:
port: 9292
마이크로미터 기능을 제공하는 컴포넌트
스프링을 통해 주입받아 카운터, 게이지등을 등록한다.
@Override
public void order() {
log.info("주문");
stock.decrementAndGet();
Counter.builder("my.order")
.tag("class", this.getClass().getName())
.tag("method", "order")
.description("order")
.register(meterRegistry)
.increment();
}
@Bean
public CountedAspect countedAspect(MeterRegistry meterRegistry) {
return new CountedAspect(meterRegistry);
}
@Override
@Counted("my.order")
public void order() {
log.info("주문");
stock.decrementAndGet();
}
설치 URL
https://prometheus.io/download
// yml에 추가
implementation 'io.micrometer:micrometer-registry-prometheus'
# 추가
- job_name: "spring-actuator"
metrics_path: '/actuator/prometheus' // 메트릭 경로 설정
scrape_interval: 1s // 수집주기 설정 (일반적으로 10 ~ 15s)
static_configs:
- targets: ['localhost:8080'] // 타겟 서버경로
설치 URL
https://grafana.com/grafana/download
10.1.0 버전 설치
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-10.1.0.darwin-amd64.tar.gz
그라파나 공유대시보드 (스프링)
https://grafana.com/grafana/dashboards/11378-justai-system-monitor/