基於Filebeat實現ELK日誌分析系統的多源日誌採集

一、前言

  在閱讀這篇博文前,請先了解《如何快速搭建一個簡易的ELK日誌分析系統》一文,在這篇博文中我們可以瞭解學習到EKL系統的搭建,同時實現了讀取一個固定日誌文件中的內容,並進行分析的示例。
  在本文中,我們通過引入FileBeats組件,Beats是一個“搬運工”,通過監聽文件變化,將分佈在各個服務器上的日誌搬運到日誌收集服務器(Logstash服務)上,從而實現了日誌的集中管理和分析。

二、所需環境
服務器名稱 IP地址 環境 作用
node08 192.168.1.8 ELK + FileBeats + Nginx 日誌分析系統,Nginx產生日誌,FileBeats收集日誌
node09 192.168.1.9 FileBeats + Nginx Nginx產生日誌,FileBeats收集日誌
三、部署FileBeat

分別在192.168.1.8,192.168.1.9上執行下面安裝步驟。

1、下載

#當前目錄/usr/local/soft/ELKB
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.1-linux-x86_64.tar.gz

2、解壓

#當前目錄/usr/local/soft/ELKB
tar -zvxf filebeat-6.3.1-linux-x86_64.tar.gz 

3、修改配置文件
修改/usr/local/soft/ELKB/filebeat-6.3.1-linux/fields.yml配置文件,添加如下內容:

filebeat.inputs:
	enabled: true
	paths:
    	- /usr/local/nginx/logs/access.log #nginx訪問日誌存放目錄
output.logstash:
  # The Logstash hosts
  hosts: ["192.168.1.8:5044"]

4、啓動filebeat

#當前目錄/usr/local/soft/ELKB/filebeat-6.3.1-linux/
./filebeat -e -c filebeat.yml 

5、出現如下界面,說明啓動成功。
在這裏插入圖片描述

四、修改Logstash中的配置文件nginx.conf

  在上一篇文章中,我們在nginx.conf配置輸入源採用固定的文件,如下所示:

input { 
  file{
        path => "/usr/local/nginx/logs/access.log"
        start_position => "beginning"
        type => "nginx_access_log"
  }
}

在這裏,需要把固定文件輸入源改成Beats,如下所示:

input {
  beats {
    port => 5044
	type => "nginx_access_log"
  }

修改配置文件後,重新啓動Logstash即可。

五、訪問nginx,產生日誌

  分別訪問http://192.168.1.8/、http://192.168.1.9/,每訪問一次,就會產生一條訪問日誌,可以多訪問幾次,產生日誌。

六、使用Kibana查看Elasticsearch索引數據

  在上一篇博文中,我們已經配置了相關索引檢索,這裏直接點擊“Disconer”菜單查看日誌,如下所示:
在這裏插入圖片描述
  通過分析日誌,發現有些日誌是來至node08節點(192.168.1.8),有些是來至node09節點(192.168.1.9),這就說明在ELK系統中,收集了來至兩個服務器上的Nginx的訪問日誌。

七、總結

  通過上述過程,我們已經實現了在多個服務器上部署FileBeat實現日誌的動態採集和多服務器上日誌的採集。爲了實現ELK系統的高可用性,我們還可以把Elasticsearch和Logstach部署成集羣,而Kibana是可視化工具,沒必要進行集羣化部署。後續我們再來嘗試如何實現ELK的高可用性部署。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章