filebeat + logstash 취 합 다 중 인 스 턴 스 배치 로그
『 8195 』 현 회사 의 단일 프로젝트 는 방문 양 이 커지 기 때문에 nginx 부하 균형 다 중 인 스 턴 스 배 치 를 취한 다.그러나 문제 가 하나 있 습 니 다. 프로젝트 의 로그 파일 은 배 치 된 모든 서버 에 분포 되 어 있 습 니 다. 사용자 의 구체 적 인 요청 을 볼 때 nginx 가 부하 가 되 었 기 때문에 이 요청 이 어느 인 스 턴 스 위 에 있 는 지 알 수 없습니다. 하나의 로 그 를 보고 효율 이 떨 어 집 니 다.
문제 해결 방법:
방식 1: 현재 가장 좋 은 ELK 로 그 를 사용 하여 수집 하고 로 그 를 모두 es 에 입력 하여 볼 수 있 습 니 다.
방식 2: 본 고 에서 소개 한 filebeat + logstash 를 이용 하여 각 서버 로그 파일 에 분포 하여 하나의 로그 파일 에 집합 합 니 다.
환경 소개:
tar -zxvf logstash-7.3.2.tar.gz
input {
beats {
port => 5055
}
}
output {
file {
path => "/home/app/smrz/%{+YYYY.MM.dd}-file.log"
codec => line {format => "%{[@metadata][ip_address]} %{message}"}
# IP +
}
}
여기 서 중점적으로 설명 하 겠 습 니 다:% {[@ metadata] [ip address]} 이 매개 변 수 는 원본 IP 주 소 를 대표 하여 로그 원본 인 스 턴 스 를 볼 수 있 습 니 다.
bin/logstash -f conf/logstash.conf
tar -zxvf filebeat-7.3.2-linux-x86_64.tar.gz
filebeat.inputs:
- type: log
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /home/CTID-ONLINE/kitty.log
output.logstash:
# The Logstash hosts
hosts: ["192.168.44.21:5055"]
sudo ./filebeat -e -c filebeat.yml
최종 집합 효과
192.168.44.10 2019-09-23 15:37:27.092 |-INFO [http-nio-8018-exec-10] com.goldenshield.kitty.interceptor.ConfigurationFilter [100] -| {"date":1569224247092,"idAddr":"223.104.18.231","appKey":"smbsapp","url":"/kitty/jbrz/OCR"}
192.168.44.20 2019-09-23 15:37:26.012 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| ==> Preparing: select GROUP_CONCAT(rzfs.rzfs_url) from app_info INNER JOIN appinfo_rzfs ON ( app_info.uuid = appinfo_rzfs.appinfo_uuid) INNER JOIN rzfs ON (appinfo_rzfs.rzfs_uuid = rzfs.rz_id) where appkey = ?
192.168.44.10 2019-09-23 15:37:26.092 |-INFO [http-nio-8018-exec-15] com.goldenshield.kitty.service.impl.SmbsServiceImpl [96] -| :{"code":200,"message":"OK","data":{"bsryid":"875713"},"more":false}
192.168.44.10 2019-09-23 15:37:26.529 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==> Preparing: select * from app_info where appkey = ?
192.168.44.20 2019-09-23 15:37:26.012 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| ==> Parameters: smbsios(String)
192.168.44.10 2019-09-23 15:37:26.092 |-INFO [http-nio-8018-exec-15] com.goldenshield.kitty.interceptor.ConfigurationFilter [100] -| {"date":1569224246092,"idAddr":"183.160.70.39","appKey":"smbsios","url":"/kitty/smbs/JCBD"}
192.168.44.10 2019-09-23 15:37:26.530 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==> Parameters: smbsapp(String)
192.168.44.20 2019-09-23 15:37:26.013 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| <== Total: 1
192.168.44.10 2019-09-23 15:37:26.526 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==> Preparing: select * from app_info where appkey = ?
192.168.44.20 2019-09-23 15:37:26.530 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| <== Total: 1
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
웹 개발 자가 가지 고 있 는 CentOS 작은 책저 는 이 길이 앞으로 나 아 가 는 것 이 라 고 생각 했 지만 길 은 빙빙 돌 고 있 습 니 다.종이 위 에 있 는 것 은 결국 얕 은 것 을 깨 닫 고 처음에 보면 종종 무슨 일 인지 모 르 며 전체적인 경지 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.