JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
온라인 강의프로그래밍 과외책/전자책무료 강의
유튜브블로그
후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
컨설팅/외주
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

경기도 화성시 동탄대로 22길 30

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

로그관리와 모니터링 - ELK 프로메테우스 그라파나편

로그의 기본

로그는 왜 필요할까?
로그는 대체 어떤 걸 기록해야 할까?
[실습] 맛집 웨이팅 API를 통한 로그실습

로그의 Level과 Filter

로그의 레벨 - TRACE, DEBUG, INFO, WARN, ERROR, FATAL
[실습] 실습으로 Log Level 이해하기
로그는 어떻게 구성돼있을까? 8가지 구성요소
[실습] 로그 읽기 실습으로 CS 대응하기
[실습] MdcLoggingFilter로 UUID 부여하기

로깅프레임워크 Logback

로그를 파일로 보관하는 방법
Logback의 Appender란 무엇일까?
[실습] Logback 설정하고 로그 파일로 만들기
[실습] 로그 압축(.gz)으로 서버 용량 확보하기

ElasticSearch와 Logstash를 활용한 로그 수집

ELK 스택이란 무엇일까? -
Logstash의 핵심 기능은 무엇일까?
Elasticsearch를 로그 수집에 사용하는 이유
[실습] Docker 설치
[실습] Elasticsearch, Logstash 설치 및 설정
Logback, Logstash, Elasticsearch를 활용한 아키텍처 구성

Kibana를 통한 로그 모니터링

Kibana의 핵심 기능은 무엇일까?
[실습] Kibana 설치 및 설정
[실습] Kibana로 Data View 생성하기
[실습] Discover 탭을 통한 로그 검색하기
[실습] 대시보드를 통해 로그 시각화하기

Actuator를 활용한 모니터링 시스템 구축

[실습] 실습을 위한 웨이팅 API 코드 수정
모니터링의 필요성과 모니터링 도구 -
스프링 부트 모니터링 도구 Actuator, Micrometer
[실습] Actuator와 Micrometer로 서버 모니터링 하기

Prometheus, Granfana를 통한 서버 모니터링과 Discord 알림

[실습] Prometheus 설치 및 메트릭 수집
[실습] PromQL 프로메테우스 쿼리 언어 맛보기
[실습] Grafana 설치 및 Prometheus 연결
[실습] Grafana 대시보드 생성하기
[실습] Grafana Alert를 연동한 서버 에러 발생 시 Discord로 알람 보내주기
← 블로그 목록으로 돌아가기

[실습] Prometheus 설치 및 메트릭 수집

JSCODE 시니
JSCODE 시니
2026. 03. 03.
author
JSCODE 시니
category
Logging Monitoring
createdAt
Mar 6, 2026, 03:47 AM
isPublic
isPublic
series
로그관리와 모니터링 - ELK 프로메테우스 그라파나편
slug
installing-prometheus-for-metrics
type
post
updatedAt
Mar 3, 2026 09:00

✅ 1. Prometheus란?

  • Prometheus: Actuator가 노출하는 수치(메트릭)들을 주기적으로 긁어모아 데이터를 수집한다.
 
 

✅ 2. 프로메테우스 설정파일 만들기

prometheus.yml
global: scrape_interval: 15s # 15초마다 한 번씩 데이터 가져오기 scrape_configs: - job_name: 'waiting-api-spring-boot' metrics_path: '/actuator/prometheus' static_configs: # 도커 컨테이너 안에서 내 로컬 컴퓨터(Host)에 떠있는 스프링 부트로 접근 - targets: ['host.docker.internal:8080']
 
 

✅ 3. Docker Compose 파일 수정

services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:9.1.0 container_name: elasticsearch environment: - discovery.type=single-node - xpack.security.enabled=false - xpack.security.http.ssl.enabled=false - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ports: - "9200:9200" logstash: image: docker.elastic.co/logstash/logstash:9.1.0 container_name: logstash volumes: - ./logs:/usr/share/logstash/logs - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf ports: - "5044:5044" depends_on: - elasticsearch kibana: image: docker.elastic.co/kibana/kibana:9.1.0 # 무조건 ES, Logstash와 버전을 맞춰야 해요! (9.1.0) container_name: kibana ports: - "5601:5601" # 키바나 포트 번호 environment: # 키바나가 데이터를 가지고올 주소 - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 depends_on: - elasticsearch prometheus: image: prom/prometheus:latest container_name: prometheus ports: - "9090:9090" # 프로메테우스의 기본 포트 번호 volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml # 프로메테우스 설정 파일
 
 

✅ 4. Prometheus 실행 확인

docker compose down docker-compose up -d docker ps
  • 요청 URL : http://localhost:9090/
notion image
notion image
notion image
 
 
📎
이 글은 로그관리와 모니터링 - ELK, 프로메테우스, 그라파나 강의의 수업 자료 중 일부입니다.