EFK 튜 토리 얼 - EFK 빠 른 입문 안내

6790 단어
elasticsearch (3 노드) + filebeat + kibana 를 배치 하여 EFK 에 빠르게 입문 하고 사용 가능 한 demo 환경 테스트 효 과 를 구축 합 니 다.
작가: "머리 가 흔 들 리 는 늑대", 전재 와 기 고 를 환영 합 니 다.
목차
▪ 용도.▪ 실험 구조▪ 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 글 은 점차적으로 발 표 될 것 입 니 다. 캐릭터 분리, 성능 최적화 등 많은 건어물 을 포함 하 니 주목 하 시기 바 랍 니 다!

좋은 웹페이지 즐겨찾기