
"운영되는 시스템을 볼 수 있어야 한다!"
-> 그것이 Actuator 이고
-> 그걸 수집하는 것이 Prometheus이며
-> 그걸 보기 좋게 만드는 것이 Grafana이다.
-> 운영 환경에서는 이것들이 없으면 서비스 운영이 안됨...
: 자동차를 운전할 때 속도, 연비, 엔진온도 등을 모르고 운전하면 사고가 나듯
서비스 운영도
이것들을 모르면 장애가 난다.
Actuator는 이걸 노출하는 역할만 하는 것!
수집/저장은 Prometheus가 한다.
"헬스체크란?"
서비스가 살아있는지, 정상적으로 일하는지 자동으로 감지하는 기능.
로드밸런서(Nginx등등)가 주로 사용한다.
"Actuator 엔드포인트가 기본 비활성화인 이유?"
"+ ping이란?"
/actuator/health 중 가장 단순한 health indicator
단순이 Spring이 살아있는지만 확인한다.
"HealthIndicator는 어느 패키지에?"
/src/main/java/com/xxx/global/health
또는
/common/health
why?
실무에서는 API 종류에 따라 다르게 선택한다.
ex) 카카오 로그인 API = true (강하게 의존)
날씨 API = false (부가 기능)
특정파일이 존재하면 down
ex) /app/stop.txt가 존재하면 health = down
-> 장점 : 자동 배포 시스템과 연동하기 좋음.
custom식 헬스체크
ex) 영업시간을 설정하여 사용
SLF4J가 로그 인터페이스의 표준이듯이
Micrometer는 수집 표준 라이브러리이다.
api1이 spring-net에 안 붙어 있었고
컨테이너가 실행 실패로 죽어있었음…
-> 해결 :
api1 컨테이너 재생성
Prometheus 재시작
이미지 재빌드
컨테이너 네트워크 연결 확인
==최종 성공==
