EFK 튜 토리 얼 - EFK 빠 른 입문 안내
작가: "머리 가 흔 들 리 는 늑대", 전재 와 기 고 를 환영 합 니 다.
목차
▪ 용도.▪ 실험 구조▪ EFK 소프트웨어 설치▪ elasticsearch 설정▪ filebeat 설정▪ kibana 설정▪ 시작 서비스▪ kibana 인터페이스 설정▪ 테스트▪ 후속 문장
▷ filebeat 를 통 해 nginx 접근 로 그 를 실시 간 으로 수집 하고 elasticsearch 클 러 스 터 로 전송 하기 ▷ filebeat 는 수집 한 로 그 를 elasticsearch 클 러 스 터 로 전송 하기 ▷ kibana 를 통 해 로 그 를 보 여 줍 니 다.
실험 구조
▷ 서버 설정
▷ 구성 도
EFK 소프트웨어 설치
버 전 설명
▷ elasticsearch 7.3.2 ▷ filebeat 7.3.2 ▷ kibana 7.3.2
주의 사항
▷ 세 개의 구성 요소 버 전이 일치 해 야 합 니 다 ▷ elasticsearch 3 대 이상 이 어야 하 며 총 수량 은 단수 입 니 다
설치 경로
▷ /opt/elasticsearch ▷ /opt/filebeat ▷ /opt/kibana
elasticsearch 설치: 3 대 es 모두 같은 설치 절 차 를 수행 합 니 다.
mkdir -p /opt/software && cd /opt/software
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
mv elasticsearch-7.3.2 /opt/elasticsearch
useradd elasticsearch -d /opt/elasticsearch -s /sbin/nologin
mkdir -p /opt/logs/elasticsearch
chown elasticsearch.elasticsearch /opt/elasticsearch -R
chown elasticsearch.elasticsearch /opt/logs/elasticsearch -R
# VMA( ) 262144, elasticsearch max virtual memory areas vm.max_map_count [65535] is too low, increase to at least [262144]
echo "vm.max_map_count = 655350" >> /etc/sysctl.conf
sysctl -p
filebeat 설치
mkdir -p /opt/software && cd /opt/software
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.2-linux-x86_64.tar.gz
mkdir -p /opt/logs/filebeat/
tar -zxvf filebeat-7.3.2-linux-x86_64.tar.gz
mv filebeat-7.3.2-linux-x86_64 /opt/filebeat
kibana 설치
mkdir -p /opt/software && cd /opt/software
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.2-linux-x86_64.tar.gz
tar -zxvf kibana-7.3.2-linux-x86_64.tar.gz
mv kibana-7.3.2-linux-x86_64 /opt/kibana
useradd kibana -d /opt/kibana -s /sbin/nologin
chown kibana.kibana /opt/kibana -R
nginx 설치 (로그 생 성, filebeat 에 의 해 수집)
# 192.168.1.11
yum install -y nginx
/usr/sbin/nginx -c /etc/nginx/nginx.conf
elasticsearch 설정
▷ 192.168.1.31 /opt/elasticsearch/config/elasticsearch.yml
#
cluster.name: my-application
#
node.name: 192.168.1.31
#
path.logs: /opt/logs/elasticsearch
# IP
network.host: 192.168.1.31
#
http.port: 9200
#
transport.port: 9300
#
discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
# Elasticsearch , master
cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
#
http.cors.enabled: true
http.cors.allow-origin: "*"
# 2 ,
gateway.recover_after_nodes: 2
▷ 192.168.1.32 /opt/elasticsearch/config/elasticsearch.yml
#
cluster.name: my-application
#
node.name: 192.168.1.32
#
path.logs: /opt/logs/elasticsearch
# IP
network.host: 192.168.1.32
#
http.port: 9200
#
transport.port: 9300
#
discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
# Elasticsearch , master
cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
#
http.cors.enabled: true
http.cors.allow-origin: "*"
# 2 ,
gateway.recover_after_nodes: 2
▷ 192.168.1.33 /opt/elasticsearch/config/elasticsearch.yml
#
cluster.name: my-application
#
node.name: 192.168.1.33
#
path.logs: /opt/logs/elasticsearch
# IP
network.host: 192.168.1.33
#
http.port: 9200
#
transport.port: 9300
#
discovery.seed_hosts: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
# Elasticsearch , master
cluster.initial_master_nodes: ["192.168.1.31", "192.168.1.32", "192.168.1.33"]
#
http.cors.enabled: true
http.cors.allow-origin: "*"
# 2 ,
gateway.recover_after_nodes: 2
filebeat 설정
192.168.1.11 /opt/filebeat/filebeat.yml
#
filebeat.inputs:
#
- type: log
#
enabled: true
#
paths:
- /var/log/nginx/access.log
#
fields:
type: nginx_access # nginx_access, fields.type
# elasticsearch
output.elasticsearch:
# elasticsearch
hosts: ["http://192.168.1.31:9200",
"http://192.168.1.32:9200",
"http://192.168.1.33:9200"]
#
indices:
#
- index: "nginx_access_%{+yyy.MM}"
# nginx_access
when.equals:
fields.type: "nginx_access"
#
setup.template.enabled: false
#
logging.to_files: true
#
logging.level: info
#
logging.files:
#
path: /opt/logs/filebeat/
#
name: filebeat
# , 2~1024
keepfiles: 7
#
permissions: 0600
kibana 설정
192.168.1.21 /opt/kibana/config/kibana.yml
#
server.port: 5601
# IP
server.host: "192.168.1.21"
#
server.name: "192.168.1.21"
# elasticsearch IP
elasticsearch.hosts: ["http://192.168.1.31:9200",
"http://192.168.1.32:9200",
"http://192.168.1.33:9200"]
시작 서비스
# elasticsearch (3 es )
sudo -u elasticsearch /opt/elasticsearch/bin/elasticsearch
# filebeat
/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"
# kibana
sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml
위의 시동 방법 은 프론트 데스크 에서 운행 하 는 것 이다.systemd 설정 방법 은 'EFK 튜 토리 얼' 시리즈 후속 글 에서 제 공 됩 니 다. 주목 하 시기 바 랍 니 다!
kibana 인터페이스 설정
1️⃣ 브 라 우 저 를 사용 하여 192.168.1.21: 5601 을 방문 하면 다음 화면 을 보면 시작 성공 을 표시 합 니 다.
2️⃣ "Try our sample data" 를 누 르 세 요.
3️⃣ "기본 기능 에 대한 사용 통 계 를 제공 하여 Elastic Stack 을 개선 하 는 데 도움 을 줍 니 다. Elastic 외부 에 서 는 이 데 이 터 를 공유 하지 않 습 니 다" 점 "아니오"
4️⃣ "kibana 에 데이터 추가 "점" 데이터 추가 "
5️⃣ 보기 로 들 어가 기
테스트
nginx 에 접근 하여 로그 생 성
curl -I "http://192.168.1.11"
kibana 에서 데이터 보기
1️⃣ 색인 템 플 릿 만 들 기
2️⃣ 만 들 색인 템 플 릿 의 이름 을 입력 하 십시오.
3️⃣ 이전 CURL 데이터 보기
후속 문장
본 고 는 시리즈 의 첫 번 째 편 입 니 다. 후속 적 인 EFK 글 은 점차적으로 발 표 될 것 입 니 다. 캐릭터 분리, 성능 최적화 등 많은 건어물 을 포함 하 니 주목 하 시기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.