EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

사용 가능한 데모 환경 테스트 결과 (세 개의 노드) + filebeat + 키바 빠른 시작 EFK를 elasticsearch 배포에 의해 건립

저자 : "영국 만든 코요테가" , 다시 인쇄에 오신 것을 환영 및 제출


디렉토리

▪ 사용
▪ 실험 아키텍처
▪의 EFK 소프트웨어 설치
▪ elasticsearch 구성
▪ filebeat 구성
▪ 키바 구성
▪ 서비스 시작
▪ 키바 인터페이스 구성
▪ 테스트
▪ 후속 기사를


용도

에 의해 클러스터를 elasticsearch로 전송 실시간의 nginx 액세스 로그에 수집 ▷ filebeat,
로그 전송은 ▷ filebeat 클러스터 elasticsearch 수집
키바 쇼 로그를 통해 ▷을


실험 아키텍처

▷ 서버 구성

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

▷ 차트

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치


EFK 소프트웨어 설치

흔적

▷ elasticsearch 7.3.2
▷ filebeat 7.3.2
▷ kibana 7.3.2

주의 사항

▷ 세 가지 구성 요소는 동일한 버전이어야합니다
▷ elasticsearch 세 이상 단수의 총 수

설치 경로

▷ / 옵션 / elasticsearch
▷ / 옵션 / 백업 비트
▷ / 옵션 / 키바

설치 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 튜토리얼"시리즈를 제공 할 것입니다, 그래서 계속 지켜봐 주시기 바랍니다!


키바 인터페이스 구성

1️⃣ 브라우저 192.168.1.21:5601를 사용하여 액세스, 다음과 같은 인터페이스가 성공적으로 시작을 나타내는 참조

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

点 "우리의 샘플 데이터를보십시오"2️⃣

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

3️⃣ "아니오"点 ". 우리는 탄성의 외부에서이 데이터를 공유하지 않습니다 우리가 기본적인 기능에 대한 사용 통계를 제공함으로써 탄성 스택을 개선하는 데 도움"

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

4️⃣ "데이터를 추가"点 "키바에 데이터를 추가"

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

보기를 입력 5️⃣

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치


테스트

액세스의 nginx는 로그를 생성

curl -I "http://192.168.1.11"

키바의 데이터보기

인덱스 템플릿을 만들 1️⃣

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

2️⃣ 템플릿을 생성 할 인덱스의 이름을 입력합니다

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

3️⃣ 데이터보기 전에 CURL

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치

EFK의 튜토리얼 - 배아 줄기 EFK를 기반으로 다중 노드 배포 구성을 설치


후속 기사

이것은, EFK 후속 문서는 점진적으로 해제됩니다, 최초의 "EFK 가이드"시리즈 역할의 분리, 성능 최적화, 그리고 다른 많은 건조 제품을 포함, 그래서 계속 지켜봐 주시기 바랍니다!

추천

출처blog.51cto.com/cyent/2445813