ELK環境搭建完整說明

ELK環境搭建完整說明

ELK:ElasticSerach、Logstash、Kibana三款產品名稱的首字母集合,用於日誌的蒐集和搜索。簡單地理解爲咱們能夠把服務端的日誌(nginx、tomcat等)直接web化展現查看,十分方便。java

本機環境說明:
    系統:centos7.5
    ElasticSerach:6.4.2
    Logstash:6.4.2
    Kibana:6.4.2
    Filebeat:6.4.2

部署狀況簡介

說明:圖是直接搜索的網上的,其中nginx、elk這裏都採用單機直接部署,因此ip相同,我這裏爲192.168.21.128。

流程說明

1. 業務請求到達nginx-server機器上的Nginx; 
 2. Nginx響應請求,並在access.log文件中增長訪問記錄;
 3. FileBeat蒐集新增的日誌,經過LogStash的5044端口上傳日誌;
 4. LogStash將日誌信息經過本機的9200端口傳入到ElasticSerach;
 5. 搜索日誌的用戶經過瀏覽器訪問Kibana,服務器端口是5601;
 6. Kibana經過9200端口訪問ElasticSerach;

安裝java環境

由於ElasticSerach運行須要java環境支持,因此首先要配置java環境,具體操做方法自行百度吧,網上比較多。linux

下載ELK安裝包

ELK官網:https://www.elastic.co/downloadsnginx

手動下載ELK安裝的tag.gz文件,這裏咱們放入/usr/local/work/下,並解壓縮,最終效果以下:web

建立用戶

由於ElasticSerach運行時不容許以root用戶身份的,因此這裏須要手動建立用戶並分配權限,具體以下:centos

  1. 建立用戶組:groupadd elasticsearch
  2. 建立用戶加入用戶組:useradd elasticsearch -g elasticsearch
  3. 設置ElasticSerach文件夾爲用戶elasticsearch全部:chown -R elasticsearch.elasticsearch /usr/local/work/elasticsearch-6.4.2

系統設置部分

  1. 打開文件/etc/security/limits.conf,添加下面4處內容:瀏覽器

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
  2. 打開文件/etc/sysctl.conf,添加下面內容:tomcat

    vm.max_map_count=655360
  3. 加載sysctl配置,執行命令:sysctl -p
  4. 重啓電腦,執行命令:reboot服務器

啓動ElasticSerach

  1. 切換到用戶elasticsearch:su elasticsearch
  2. 進入目錄/usr/local/work/elasticsearch-6.4.2
  3. 執行啓動命令:bin/elasticsearch -d,此時會在後臺啓動elasticsearch(若是啓動報錯沒有權限的話,從新執行上面的chown那部分命令設置權限)
  4. 查看啓動日誌可執行命令:tail -f /usr/local/work/elasticsearch-6.4.2/logs/elasticsearch.log
  5. 執行curl命令檢查服務是否正常響應:curl 127.0.0.1:9200,收到響應以下:

具體效果:curl

配置啓動Logstash

  1. 在目錄/usr/local/work/logstash-6.4.2下建立文件default.conf,內容以下:
# 監聽5044端口做爲輸入
input {
    beats {
        port => "5044"
    }
}
# 數據過濾
filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
    }
    geoip {
        source => "clientip"
    }
}
# 輸出配置爲本機的9200端口,這是ElasticSerach服務的監聽端口
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
    }
}
  1. 後臺啓動Logstash服務:nohup bin/logstash -f default.conf –config.reload.automatic &
  2. 查看啓動日誌:tail -f logs/logstash-plain.log,啓動成功的信息以下:

Kibana

  1. 打開Kibana的配置文件/usr/local/work/kibana-6.4.2-linux-x86_64/config/kibana.yml,找到下面這行:
#server.host: "localhost"

改爲以下內容:elasticsearch

server.host: "192.168.21.128"
  1. 進入Kibana的目錄:/usr/local/work/kibana-6.4.2-linux-x86_64
  2. 執行啓動命令:nohup bin/kibana &
  3. 查看啓動日誌:tail -f nohup.out
  4. 在瀏覽器訪問http://192.168.21.128:5601,看到以下頁面:

注意:
    這裏訪問5601的時候可能訪問不通,centos有本身的防火牆及端口限制,具體設置自行百度吧,不少的。

配置Filebeat,傳送nginx日誌至LogStash

  1. 打開文件/usr/local/work/filebeat-6.4.2-linux-x86_64/filebeat.yml,找到以下圖的位置並設置:

  1. 繼續修改filebeat.yml文件,找到下圖中的內容並設置:

  1. 啓動FileBeat:nohup ./filebeat -e -c filebeat.yml -d "publish" &

驗證kibana是否能顯示nginx的日誌

至此,環境搭建完成~

相關文章
相關標籤/搜索