JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

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

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] Elasticsearch, Logstash 설치 및 설정

JSCODE 시니
JSCODE 시니
2026. 03. 03.
author
JSCODE 시니
category
Logging Monitoring
createdAt
Mar 5, 2026 06:45 PM
isPublic
isPublic
series
로그관리와 모니터링 - ELK 프로메테우스 그라파나편
slug
setup-elasticsearch-and-logstash
type
post
updatedAt
Mar 3, 2026 09:00

✅ 1. 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
 
 

✅ 2. logstash.conf 파일 작성

  • 프로젝트 폴더 최상단에 해당 파일을 만든다
# 1. Input input { file { # 도커 컨테이너 안에서 바라보는 우리 로그 파일의 위치 path => "/usr/share/logstash/logs/waiting-api-log.log" # 처음 켤 때 파일의 맨 처음부터 끝까지 싹 다 읽어오라는 뜻 start_position => "beginning" # 파일이 끝났는지 확인하는 주기 (기본 1초에 한 번씩 감시) stat_interval => 1 } } # 2. Filter filter { # 이번 기초 실습에서는 로그 텍스트를 있는 그대로 보낼 거라 비워두기! # (나중에 실력이 쌓이면 여기서 에러 메시지만 따로 자르거나 가공 가능) } # 3. Output output { # 우리의 목적지인 엘라스틱서치로 보냄 elasticsearch { hosts => ["http://elasticsearch:9200"] # 엘라스틱서치에 저장될 인덱스 이름! 날짜별로 분류함 index => "waiting-api-logs-%{+YYYY.MM.dd}" } # 잘 전송되고 있는지 도커 콘솔 화면에서도 확인하기 위해 추가 stdout { codec => rubydebug } }
 
 

✅ 3. Docker 명령 실행

docker-compose up -d
notion image
 
 

✅ 4. Docker 가동 확인

docker ps
notion image
 
 

✅ 5. Elasticsearch 접속 확인하기

  • 요청 URL : http://localhost:9200/_cat/indices?v
  • 확인 : 화면에 waiting-api-logs-2026.02.27 와 같은 문구가 보인다면 잘 전송된 것임
 
 

✅ 6. 에러 로그만 검색해보기

  • 요청 URL : http://localhost:9200/waiting-api-logs-*/_search?q=message:ERROR
 
author
category
Logging Monitoring
createdAt
Mar 6, 2026 08:35 AM
isPublic
isPublic
series
로그관리와 모니터링 - ELK 프로메테우스 그라파나편
slug
type
series-footer
updatedAt
Mar 3, 2026 09:00
📎
이 글은 로그관리와 모니터링 - ELK, 프로메테우스, 그라파나 강의의 수업 자료 중 일부입니다.