ELK+FileBeat 7.14.0版本安裝、部署及使用


一、下載

從官網下載最新版本:https://www.elastic.co/cn/downloads/

當前最新版本為7.14.0,下載linux-x86_64版本:

elasticsearch-7.14.0-linux-x86_64.tar.gz   

kibana-7.14.0-linux-x86_64.tar.gz

filebeat-7.14.0-linux-x86_64.tar.gz

logstash-7.14.0-linux-x86_64.tar.gz

將下載的安裝包上傳到服務器的指定位置

二、elasticsearch安裝部署

解壓es安裝包到/usr/local/文件夾下

sudo tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz  /usr/local/

進入elasticsearch-7.14.0/config/文件夾,編輯elasticsearch.yml文件

需設置上圖7處地方。

es不能使用root用戶啟動,必須用其他用戶,並且給這個用戶賦予操作elasticsearch-7.14.0文件夾的權限

sudo chown -R dl:123456 /usr/local/elasticsearch-7.14.0/

啟動前需要先配置一些環境:

1、配置可打開的文件描述符的最大數

sudo vi /etc/security/limits.conf

添加:

* soft nofile 65536

* hard nofile 65536

並重新登錄dl用戶

2、配置文件包含限制一個進程可以擁有的VMA(虛擬內存區域)的數量

sudo vi /etc/sysctl.conf

 

在文件末尾添加

vm.max_map_count=655360

然后執行

sudo sysctl -p

 

使用dl用啟動es:

在/usr/local/elasticsearch-7.14.0/文件夾下執行

./bin/elasticsearch

瀏覽器打開http://192.168.2.129:9200/,如出現下圖,則說明啟動成功

ctrl+C即可停止es服務

當然也可以后台啟動

./bin/elasticsearch &  

三、logstash安裝部署

解壓logstash到/usr/local/目錄下

sudo tar -zxvf logstash-7.14.0-linux-x86_64.tar.gz  /usr/local/

進入logstash-7.14.0/config目錄下編輯logstash-sample.conf文件,當然也可以新建一個配置文件,這里以logstash-sample.conf為例

在input->beats->port默認是5044,后面部署的filebeat的日志都會發送到這里,所以filebeat里面的配置要和這里的保持一致

輸出到es里的配置增加了action, 配置了es的hosts,另外配置一個index,這里的索引不能使用大寫字母

運行logstash:

在logstash-7.14.0文件夾在執行

sudo ./bin/logstash -f ./config/logstash-sample.conf

注意:

  1. 需要在logstash運行的機器上防火牆開放5044端口
  2. Logstash啟動時依賴於es,因此es要先於logstash啟動

四、filebeat安裝部署

filebeat是一個輕量級的日志采集服務,可以將采集的日志發送到es或者logstash,這里測試時將filebeat部署在另外一台服務器上ip:192.168.2.173

解壓filebeat到指定位置

sudo tar -zxvf filebeat-7.14.0-linux-x86_64.tar.gz  /usr/local/

進入filebeat-7.14.0-linux-x86_64文件夾,編輯filebeat.yml文件,這里只設置了輸入格式為log的路徑,同時把enable設置為true

這里的outputs設置,采用輸出到logstash后再輸入es的方式,因此將es output的配置注釋,將logstash的配置打開並配置logstash的hosts

運行filebeat:

在filebeat-7.14.0-linux-x86_64文件夾下執行

./filebeat -e -c ./filebeat.yml

注意:

filebeat運行時要訪問logstash,因此logstash要先於filebeat啟動

五、kibana安裝部署

將kibana安裝包解壓到/usr/local/目錄

sudo tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz  /usr/local/

進入kibana-7.14.0-linux-x86_64/config文件夾,編輯kibana.yml文件

簡單配置這4項

Kibana不能使用root用戶啟動,必須用其他用戶,並且給這個用戶賦予操作kibana-7.14.0-linux-x86_64文件夾的權限

sudo chown -R dl:123456 /usr/local/kibana-7.14.0-linux-x86_64/

啟動kibana:

在kibana-7.14.0-linux-x86_64文件夾下執行

./bin/kibana

防火牆開放5601端口,網頁訪問http://192.168.2.129:5601/

六、ELK+Filebeat實際使用

場景:

在2.129和2.173兩台機器上都部署filebeat,分別采集日志,發送到2.129機器上的logstash上,logstash可以做過濾或者分組,然后把日志數據發送給2.129機器上的es,最后由2.129機器上的kibana進行日志可視化展示。由於需要對129和137上的日志做區分,因此在filebeat的配置文件中分別設置日志的tags。

173的filebeat.yml文件

129的filebeat.yml文件

當然,可以在General里設置tags,也可以在inputs下面的每個type下設置fields,tags是對整個filebeat打標簽,filelds則可對具體每個type打標簽

Logstash對日志進行分組,不同的filebeat獲取的日志生成不同的索引

注意:

  1. 索引的命名不能以logs開頭,新版本會把logs開頭的自動作為Data Streams

在logstash的配置文件中根據tags屬於哪個filebeat,然后發往es的時候生成不同的index。

登錄kibana,找到Management->Stack Management->Index Management可以看到,配置的兩個索引elklog-129-2021.08.24和elklog-173-2021.08.24顯示在indices下

 

找到Management->Stack Management->Index patterns->Create index pattern,創建索引模板,Index pattern name輸入elklog-*,點擊下一步選擇過濾器,然后創建

找到Analytics->Discover,在左上角選擇elklog-*,即可顯示日志

或者在Observability->Stream頁面,輸入框輸入_index : elklog*,回車,即可以查看日志。

點擊Stream live按鈕即可查看實時日志

也可以根據日志關鍵字搜索,message : "Hello"

七、ELK+Filebeat+Kafka集群實際使用

場景:

    在2.129、2.173和2.185三台機器上搭建Kafka集群,在2.129、2.173和2.185三台機器上都部署filebeat,分別采集日志,發送到kafka集群,由2.129機器上的logstash接收kafka消息做過濾或者分組,然后把日志數據發送給2.129機器上的es,最后由2.129機器上的kibana進行日志可視化展示。由於需要對129、137和185上的日志做區分,因此在filebeat的配置文件中分別設置日志的tags,參見第六大點。

  關於kafka集群的搭建詳見我另一篇帖子https://www.cnblogs.com/bigfaceWei/p/15393971.html

  增加Kafka集群和第六點不一樣的地方在於filebeat和logstash的配置

  filebeat.yml文件:

    

  注釋掉Logstash Output,添加kafka的配置,意思是將采集的日志輸出到kafka集群

  logstash-sample.conf文件:

    

 

   logstash的input改成kafka集群,輸出做一下篩選和分組,發送到elasticsearch,最后由kibana進行可視化展示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM