본문 바로가기
만들기

docker, php github 프로젝트 & wordpress 프로젝트 : ELK 스택으로 Apache 로그 모니터링 시스템 구축

by googsu.com 2025. 10. 2.

프로젝트 개요

WordPress와 PHP-Server Apache 액세스 로그를 실시간로 수집하여 Kibana에서 모니터링 수 있는 시스템을 구축했습니다. 각 서비스를 독립적으로 관하면서도 통합된 로그 분석 환경을 제공합니다.

프로젝트 구조

 

핵심 기술 스택

  • Docker & Docker Compose: 컨테이너 오케스트레이션
  • Elasticsearch: 그 저장  검색 엔진
  • Kibana: 로그 시각화 및 대시보드
  • Filebeat: 로그 수 및 전송
  • Apache: 웹 서버 (WordPress, PHP-Server)

요 특징

1. 독립적 서비 관리

  • 각 서비스 개별 폴더에서 관리
  • 서비스별 독립적인 작/중지 가능
  • 서로 영향을 주지 않 격리 환경

2. 실시간 로그 

  • Apache 액세스 로그를 구조 데이터로 변환
  • 실시간 로그 스트리밍
  • 자동 로그   드 추출

3. 확장  아키텍

  • 로운 비스 추가 시 services/ 하위에 폴더 생성
  • 공통 ELK 스택 
  • 트워크 레벨에서 비스 간 통신

 

수집되는 로그 데이터

Apache 세스 로그 필드

 

설치 및 실행

1. ELK 스택 시작

 

2. WordPress 서비스 시작

 

3. PHP-Server 서비스 시작

 

접속 URL

  • Kibana: http://localhost:5601
  • WordPress: http://localhost:8081
  • PHP-Server: http://localhost:8080
  • Elasticsearch: http://localhost:9200

Kibana 설정

Data View 생성

  1. http://localhost:5601 접속
  1. Stack Management → Data Views
  1. Create data view 클릭
  1. Index pattern 입력:
  • wordpress-logs-* (WordPress 로그)
  • php-server-logs-* (PHP-Server 로그)
  1. Time field: @timestamp 선택

대시보드 구성 예시

  • 요청 수 추이: X축 @timestamp, Y축 Count
  • 상태 코드별 분포: Pie chart, apache.response_code
  • 상위 IP 주소: Data table, apache.client_ip
  • 인기 페이지: Data table, apache.request_path

로그 분석 활용 

1. 안 모니

  • 의심스러운 IP 주소 추적
  • 비정상적인 청 패 감지
  • 404/500 에러 모니터링

2. 성능 분석

  • 응답 시간 
  • 래픽 턴 파악
  • 리소스 사용량 모니터링

3. 사용 행동 분석

  • 인기 페이지 파악
  • 용자 에이전트 분
  • 지역별 접속 현황

 

참고

https://blog.googsu.com/1

 

(docker) wordpress + mysql

https://www.docker.com/ Docker: Accelerated Container Application DevelopmentDocker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.www.docker.com1. docker

blog.googsu.com

https://blog.googsu.com/2

 

(docker) php 로컬 개발환경 구축

1. git clone {php 프로젝트}2. php:8.2-apache 이미지 컨테이너 실행docker run -d \ --name php-server \ -p 8080:80 \ -v $(pwd):/var/www/html \ php:8.2-apache3. docker client에서 실행된 apache 서버 컨테이너 확인4. 사이트 실행

blog.googsu.com

https://blog.googsu.com/3

 

WordPress + ELK 스택으로 Apache 로그 모니터링 구축

목표WordPress 사이트의 Apache 액세스 로그를 실시간으로 수집하여 Kibana에서 모니터링할 수 있는 시스템 구축 사전 준비Docker & Docker Compose 설치포트 8081 (WordPress), 5601 (Kibana), 9200 (Elasticsearch), 3306 (MyS

blog.googsu.com