Docker ELK+Filebeat 설치 및 구성
환경 설명
elk와 Filebeat는 같은 기계에 있어요.
구조
로그 처리 프로세스: Filebeat는 로그를 Logstash에 전송하여 분석하고 필터링한 다음 Logstash에서 Elasticsearch로 전송하고 마지막으로 Kibana에서 Elasticsearch의 데이터를 시각화합니다.
ELK 키트 설치
ELK의 배치 방안은 매우 유연할 수 있다. 규모가 비교적 큰 생산 시스템에서 ELK는 자신의 집단을 가지고 고가용과 부하 균형을 실현했다.우리의 목표는 가장 짧은 시간 안에 ELK를 배우고 실천하는 것이기 때문에 최소 배치 방안을 채택할 것이다. 용기에 ELK를 구축하는 것이다.
root sysctl.conf
vi /etc/sysctl.conf
vm.max_map_count=262144
sysctl -p
elk를 시작할 때 다음과 같은 오류를 알릴 수 있습니다:maxvirtual memory areas vm.max_map_count [65530] is too low, increase to atleast [262144] 용기 로그 보기:docker logs 용기 ID 참조 링크:blog.csdn.net/jiankunking…
, ,
yum install docker
systemctl start docker
systemctl enable docker
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
docker ps -a
sudo docker exec -it elk /bin/bash
sudo docker exec -it ID /bin/bash
02-beats-input.conf
cd /etc/logstash/conf.d/
vi 02-beats-input.conf
/etc/logstash/conf.d/02-beats-input.conf는 다음 그림과 같이 수정됩니다.
여기 vi 명령 사용에 문제가 있습니다. 저는 DEL 키를 통해 한 줄씩 그 세 줄을 지웠습니다.
다음 세 줄을 삭제합니다.이 세 줄은 인증서를 사용하는지 여부입니다. 이 예는 인증서를 사용하지 않습니다. 인증서를 사용하려면logstash를 사용하십시오.crt 클라이언트로 복사하고 filebeat.yml에 경로를 추가하면 됩니다.
ssl => true
ssl_certificate => "/pki/tls/certs/logstash.crt"
ssl_key => "/pki/tls/private/logstash.key"
주의:sebp/elkdocker는 인증서logstash를 만들었습니다.crt, 기본적으로 * 어댑터를 사용합니다. 인증서를 사용하면 filebeat.yml에서 사용하는 서버 주소는 도메인 이름을 사용해야 합니다. IP 주소를 사용할 수 없습니다. 그렇지 않으면 오류가 발생합니다.
이 세 줄 설정을 제거하지 않으면 뒤에서 filebeat를 시작할 때 다음과 같은 오류가 발생합니다.
2018-09-12T10:01:29.770+0800 ERROR logstash/async.go:252 Failed to publish events caused by: lumberjack protocol error
2018-09-12T10:01:29.775+0800 ERROR logstash/async.go:252 Failed to publish events caused by: client is not connected
2018-09-12T10:01:30.775+0800 ERROR pipeline/output.go:109 Failed to publish events: client is not connected
docker restart ID
브라우저에서 다음을 입력합니다.http://ip:5601, 조금만 기다리면 키바나 시작 성공 관리 페이지를 볼 수 있습니다
Elasticsearch의 JSON 커넥터: http://[Host IP]: 9200/_search?pretty
Filebeat 설치
filebeat는 여러 가지 설치 방식이 있습니다. 저는 rpm 패키지의 설치 방식을 사용하여 시스템d로 자동으로 등록할 수 있습니다.
cd /opt/softwares
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0-x86_64.rpm
또는 홈페이지에 가서 최신 버전을 보고 직접 다운로드: www.elastic.co/downloads/b…
rpm -ivh filebeat-6.4.0-x86_64.rpm
cd /etc/filebeat
vi filebeat.yml
구성은 다음과 같이 변경됩니다.
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
enabled: true
paths:
- /opt/datas/logs/*/*.log
tags: [" "]
multiline:
pattern: '^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})'
# pattern: '^\s*("{)'
negate: true
match: after
max_lines: 1000
timeout: 30s
enabled:filebeat 6.0 이후 enabled는 기본적으로 닫힙니다. true paths로 수정해야 합니다. 분석하고자 하는 로그의 경로를 캡처하기 위해multiline: 이 통합 처리를 하지 않으면 채집된 로그가 길거나 출력 xml 형식 등 로그가 채집되지 않거나 여러 개로 분할되는 경우pattern: 설정된 정규 표현식,일치하는 표현식을 지정합니다(2017-11-15 08:04:23:889 시간 형식으로 시작하는 문자열). 일치하지 않으면 줄을 합칩니다.참조 링크
구성이 위 그림과 같이 변경되었습니다.Elasticsearch output을 주석하고 Logstash output을 엽니다.hosts:elk가 있는 기계 IP 주소에서 로그를 Elasticsearc에 직접 보내면 이 줄을 편집하십시오: Elasticsearch output 로그를 Logstash에 직접 보내면 이 줄을 편집하십시오: Logstash output는 한 줄의 출력만 사용할 수 있고 다른 주석을 사용하면 됩니다
filebeat
systemctl start filebeat.service
filebeat
systemctl status filebeat.service
filebeat
tail -f /var/log/filebeat/filebeat
참조 링크: www.jianshu.com/p/7ca38fa88…
kibana 설정
왼쪽 상단의 Discover 단추를 누르면 아래 그림과 같이 "index pattern"을 만들 수 있습니다. 아래 그림, 빨간 상자에 filebeat-*를 입력하고 Next step: 아래 그림을 누르십시오. 아래 상자에서 @timestamp를 선택하고 Create index pattern을 누르면 팝업 페이지에서 왼쪽 상단의 Discover 단추를 다시 클릭하고 오른쪽 상단의 Last 15 minutes를 누르면 다음과 같습니다. 이 페이지에는 최근 15분 동안의 로그가 표시됩니다.최근 15분 동안 로그가 보고되지 않으면 다음 그림의 빨간색 상자에 있는 Today 단추를 눌러 오늘의 모든 로그를 표시할 수 있습니다.
참조 링크:blog.csdn.net/qq_39284787…blog.csdn.net/boling_cava…www.cnblogs.com/CloudMan6/p…blog.csdn.net/boling_cava…
다음으로 전송:https://juejin.im/post/5ba4c8ef6fb9a05d082a1f53
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.