코드카타
[프로그래머스] 136798번 - 기사단원의 무기 [Java]
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 제출한 코드import java.util.Arrays;class Solution { public int solution(int number, int limit,
sxxlx.tistory.com
Today I Learned!
오늘 마지막 심화 주차에 들어섰다. 모니터링 관련 강의를 수강했다.
실습한 내용은 아래 깃허브에 올려두었다.
GitHub - seola12e/nbc-monitor
Contribute to seola12e/nbc-monitor development by creating an account on GitHub.
github.com
SpringBoot Actuator, Prometheus, Grafana + Slack Alert Setting, Loki 에 대해 학습했다.
모두 처음 써 보는 기술들이라 조금 더 공부가 필요할 것 같다.
정리 노트
모니터링
모니터링은 시스템의 성능, 안정성 및 가용성을 실시간으로 관찰하고 측정하는 과정이다. 모니터링 도구를 사용하여 시스템의 상태를 추적하고, 문제를 감지하고, 성능을 최적화하며, 장애 발생 시 빠르게 대응 가능하다.
Spring Boot Actuator
Spring Boot Actuator란 Spring Boot 애플리케이션의 상태와 성능을 모니터링하고 관리할 수 있도록 다양한 엔드포인트를 제공하는 기능으로, Actuator는 헬스 체크, 메트릭스, 환경 정보, 로그 정보 등 여러 가지 중요한 정보를 쉽게 확인할 수 있도록 도와준다.
아래의 의존성을 build.gradle에 추가하여 Spring Boot Actuator를 사용할 수 있다.
implementation 'org.springframework.boot:spring-boot-starter-actuator'
Actuator는 기본적으로 여러 엔드포인트를 제공하는데, 이러한 엔드포인트는 /actuator 경로 하위에 위치하며, 각각의 엔드포인트는 다양한 정보를 제공한다.

실제 운영 환경에서는 보안을 적용하여 접근에 제한을 두는 것이 좋다.
Prometheus
Prometheus는 오픈소스 시스템 모니터링 및 경고 도구로, SoundCloud에서 시작되어 현재는 Cloud Native Computing Foundation(CNCF)에서 호스팅하고 있다.
Prometheus를 설치한 후 /actuator/prometheus 경로로 접속하면 프로메테우스 매트릭스를 확인할 수 있다.

Grafana
Grafana는 오픈소스 데이터 시각화 및 모니터링 도구로, 다양한 데이터 소스를 지원하여 데이터를 시각화하고 분석할 수 있도록 돕는다. Grafana는 대시보드를 생성하고, 데이터를 그래프나 차트 형태로 표현하며, 알림 기능을 제공하여 모니터링을 강화할 수 있다.
아래는 Prometheus 를 연결한 후 어플리케이션을 띄웠을 때의 그라파나 대시보드 화면이다.

그라파나에서 Slack으로 알림을 보낼 수도 있다.
예를 들어, 어플리케이션이 다운됐을 때 Slack으로 알림을 전송받으면 서버를 복구하는 데의 시간을 절약할 수 있다.


Loki
Loki는 Grafana Labs에서 개발한 로그 집계 시스템으로, Prometheus의 메트릭 수집 방식과 유사하게 로그 데이터를 수집하고 쿼리할 수 있도록 설계되었다. Loki는 주로 로그 데이터를 저장하고, 이를 Grafana를 통해 시각화하는 데 사용된다. Loki의 주요 특징 중 하나는 라벨 기반의 메타데이터를 사용한다는 것인데, 이 덕분에 로그를 효율적으로 검색할 수 있다.
아래의 의존성을 build.gradle에 추가하여 loki를 사용할 수 있다.
implementation 'com.github.loki4j:loki-logback-appender:1.5.1'
/ready 에 접속하면 상태를 확인할 수 있다.

controller와 logback을 간단히 작성한 후, 루트에 접속하면 403 Forbidden 되도록 설정해두었다.
여러 번 요청 후 SampleController 에서 발생한 INFO 레벨의 로그만 보도록 설정하면 아래와 같이 해당 로그들만 볼 수 있었다.


'내일배움캠프 > TIL' 카테고리의 다른 글
| [내일배움캠프] 260604 TIL #20 (0) | 2026.06.04 |
|---|---|
| [내일배움캠프] 260521 TIL #18 (0) | 2026.05.21 |
| [내일배움캠프] 260520 TIL #17 (0) | 2026.05.20 |
| [내일배움캠프] 260512 TIL #16 RabbitMQ (0) | 2026.05.12 |
| [내일배움캠프] 260507 TIL #15 Redis (0) | 2026.05.07 |