스프링 부트 - 핵심 원리와 활용 - 섹션8. 액츄에이터
CS/김영한 스프링 강의

스프링 부트 - 핵심 원리와 활용 - 섹션8. 액츄에이터

여기선 본격적인 강의 들어가기 전에 프로덕션 준비 기능 개념에 대해 먼저 설명해준다.

프로덕션 준비 기능은 코드로 작성한 서버 기술적 외에 배포할 때 고려해야 할 것들을 말함. 지표, 주적, 감사, 모니터링 등.

즉 모니터링

 

actuator라는걸 설치하면 이미 모니터링 기능으로써 제공된 /actuator url이 있다. 하지만 설치는 설치고 이걸 웹에 노출 시켜야지 나도 볼 수 있다. 어찌보면 당연한건데..

 

예를들어 어떤게 bean에 등록되었는지 어쩌구 저쩌구 ~~. 기본은 물론이고 확인 가능하다던지. 좀 스프링에 특화된 모니터링이다. 숨겨져 있을 뿐 기본적으로 shutdown을 제외한 대부분의 기능들은 활성화 되어있다.

 

자주쓰는 것들

 

Production-ready Features (spring.io)

 

 

health 자세히 보기

db같은 경우 실제 db에 연결되었냐는 요청을 보내서 받는다.

 

애플리케이션 정보도 볼 수 있다. 자바 버전, 빌드 정보 등..

 

show-details가 부담되면 show-components로 해도 된다.

 

빌드정보 보는건 gradle 설정에서 buildInfo()를 하면 된다. 그럼 빌드할 때 META-INF에 빌드 정보가 딸려 나오는데 이걸 읽는것이다.

 

 

 

깃도 가능.

 

 

 

로그도 가능하다.

 

클래스별로 로그가 가능한데 이것도 어느 클래스에서 로그 레벨을 어떻게 설정했는지 볼 수 있다.

제일 중요한건 POST 요청을 날려 임시로 변경도 가능하다. 물론 메모리에만 잠깐 하는 임시라 서버 재시작하면 원래대로 돌아온다. 하지만 서버 실행중에도 임시로 변경하는 것이기 때문에 급할 때 유용할 수 있음.

 

 

http 요청한 것들 메모리에 기록하는 것도 있다. 근데 이건 메인에서도 설정해줘야 한다.

 

 

물론 제한이 많아서 실제 운여에선 모니터링 툴이나 핀포인트, Zipkin 같은 다른 기술을 사용하는게 좋다고 한다.

 

 

접근은 내부망에서만 접근하게 설정해야 한다. 보안상 너무 위험하니까..

임시로 포트를 바꾸게 할 수도 있다.