프로젝트 개요
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 생성
- http://localhost:5601 접속
- Stack Management → Data Views
- Create data view 클릭
- Index pattern 입력:
- wordpress-logs-* (WordPress 로그)
- php-server-logs-* (PHP-Server 로그)
- 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. 사용자 행동 분석
- 인기 페이지 파악
- 사용자 에이전트 분석
- 지역별 접속 현황
참고
(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
(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
WordPress + ELK 스택으로 Apache 로그 모니터링 구축
목표WordPress 사이트의 Apache 액세스 로그를 실시간으로 수집하여 Kibana에서 모니터링할 수 있는 시스템 구축 사전 준비Docker & Docker Compose 설치포트 8081 (WordPress), 5601 (Kibana), 9200 (Elasticsearch), 3306 (MyS
blog.googsu.com
'만들기' 카테고리의 다른 글
| Grafana를 활용한 Apache 로그 실시간 통계 대시보드 구축 (0) | 2025.10.02 |
|---|---|
| WordPress + ELK 스택으로 Apache 로그 모니터링 구축 (0) | 2025.10.02 |
| (docker) php 로컬 개발환경 구축 (0) | 2025.10.02 |
| (docker) wordpress + mysql (0) | 2025.10.02 |