- Kibana를 활용한 데이터 분석 및 대시보드 생성
1) docker 실행 후 Kibana 접속 (http://localhost:5601)
2) Index Pattern
설정 (sales 인덱스 추가)
3) Discover
탭에서 데이터 조회
4) 시각화 생성 (Bar Chart, Line Chart, Pie Chart 등)
: Kibana 접속 -> Dashboard > New Dashboard 선택
: 차트 종류 선택
: X축, Y축 설정
2.Logstash란?
Logstash는 로그 및 데이터 수집을 자동화하는 오픈소스 데이터 처리 파이프라인임
다양한 소스에서 데이터를 수집하고, 필요에 따라 변환한 후, Elasticsearch 또는 다른 저장소로 데이터를 전송하는 역할을 함
- Logstash 특징
다양한 데이터 소스 지원
강력한 데이터 변환 기능
다양한 출력 옵션 제공
유연한 확장성
실시간 데이터 처리 지원
JSON 기반 설정 파일 사용
안정성: Logstash 노드 다운 시, Logstash는 Persistent Queue를 사용하여 현재 처리 중인 이벤트에 최소 1회의 전송을 보장함
(메시지 손실 없음, 중복 가능성, 확인 응답(ACK))
- Logstash 아키텍처
Logstash는 크게 Input -> Filter -> Output
3단계로 구성됨
Input
(데이터 수집)
: 여러 소스로부터 데이터를 수집할 수 있음
: 주요 Input 플러그인 -> File, Beats, HTTP, JDBC, Kafka
Filter
(데이터 변환 및 가공)
: 데이터를 변환, 정제 및 가공하는 역할을 함
: 주요 Filter 플러그인 -> grok, mutate, json, date, geoip
Output
(데이터 저장 및 전달)
: 가공된 데이터를 다양한 대상으로 전송하는 역할을 함
: 주요 Output 플러그인 -> ElasticSearch, File, Stdout, Kafka
- ELK 파이프라인 구축 실습 방법
1) Docker 기반 ELK 스택 실행 (docker-compose.yml
)
2) 예제 로그 전송 (nc
(netcat) 이용)
echo '{"message":{"data": "hello world"}}' | nc localhost 5001
3) Logstash를 통해 데이터 전송 후 Kibana에서 확인
cf)
nc
(netcat)이란?
네트워크 유틸리티로, TCP 또는 UDP 프로토콜을 사용하여 네트워크 연결을 생성하고 데이터를 전송할 수 있는 도구임
nc <hostname> <port>
: TCP 연결 테스트
nc -l <port>
: 서버 시작
macOS 터미널에서는 nc
가 기본적으로 설치되어있음
윈도우 같은 경우 choco install netcat -y
명령어를 통해 설치하고 nc -h
명령어를 통해 설치를 확인할 수 있음