天天看點

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

通過部署elasticsearch(三節點)+filebeat+kibana快速入門EFK,并搭建起可用的demo環境測試效果

作者:“發颠的小狼”,歡迎轉載與投稿

目錄

▪ 用途

▪ 實驗架構

▪ EFK軟體安裝

▪ elasticsearch配置

▪ filebeat配置

▪ kibana配置

▪ 啟動服務

▪ kibana界面配置

▪ 測試

▪ 後續文章

用途

▷ 通過filebeat實時收集nginx通路日志、傳輸至elasticsearch叢集

▷ filebeat将收集的日志傳輸至elasticsearch叢集

▷ 通過kibana展示日志

實驗架構

▷ 伺服器配置

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

▷ 架構圖

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務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,看到以下界面表示啟動成功

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

2️⃣ 點"Try our sample data"

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

3️⃣ "Help us improve the Elastic Stack by providing usage statistics for basic features. We will not share this data outside of Elastic"點"no”

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

4️⃣ "Add Data to kibana"點"Add data"

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

5️⃣ 進入視圖

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

測試

通路nginx,生成日志

curl -I "http://192.168.1.11"           

在kibana上檢視資料

1️⃣ 建立索引模闆

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

2️⃣ 輸入你要建立的索引模闆的名字

EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章
EFK教程 - 基于多節點ES的EFK安裝部署配置目錄用途實驗架構EFK軟體安裝elasticsearch配置filebeat配置kibana配置啟動服務kibana界面配置測試後續文章

3️⃣ 檢視之前CURL的資料

後續文章

繼續閱讀