Filebeat中文指南

後開啟撒打發了發表於2017-11-22

一、概述

Filebeat是一個日誌檔案託運工具,在你的伺服器上安裝客戶端後,filebeat會監控日誌目錄或者指定的日誌檔案,追蹤讀取這些檔案(追蹤檔案的變化,不停的讀),並且轉發這些資訊到elasticsearch或者logstarsh中存放。

以下是filebeat的工作流程:當你開啟filebeat程式的時候,它會啟動一個或多個探測器(prospectors)去檢測你指定的日誌目錄或檔案,對於探測器找出的每一個日誌檔案,filebeat啟動收割程式(harvester),每一個收割程式讀取一個日誌檔案的新內容,併傳送這些新的日誌資料到處理程式(spooler),處理程式會集合這些事件,最後filebeat會傳送集合的資料到你指定的地點。

(個人理解,filebeat是一個輕量級的logstash,當你需要收集資訊的機器配置或資源並不是特別多時,使用filebeat來收集日誌。日常使用中,filebeat十分穩定,筆者沒遇到過當機。)

 

二、Filebeat入門

開始配置使用filebeat之前,你需要安裝並配置好這些依賴程式:

Elasticsearch 作為儲存和索引這些資料。

Kibana 作為展示平臺。

Logstash(可選)去插入資料到elasticsearch

詳見 beatelastic的入門 

 

在安裝完畢elastic叢集之後,閱讀接下來的選項學習怎樣安裝,配置,與執行filebeat

 

第一步:安裝filebeat

請選擇你係統中的下載安裝命令來下載安裝filebeat(deb for Debian/Ubuntu, rpm for Redhat/Centos/Fedora, mac for OS X, and win for Windows).

如果你使用yum或者apt,你可以從我們的安裝倉庫中更方便的安裝或更新到新版本。

 

deb:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.deb

sudo dpkg -i filebeat-5.1.1-amd64.deb

rpm:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm

sudo rpm -vi filebeat-5.1.1-x86_64.rpm

mac:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-darwin-x86_64.tar.gz

tar xzvf filebeat-5.1.1-darwin-x86_64.tar.gz

win:

略。

 

第二步:配置filebeat

編輯配置檔案來配置filebeat,對於rpm或者deb來說,配置檔案是/etc/filebeat/filebeat.yml這個檔案,對於MAC或者win來說,請檢視你的解壓檔案中。

這裡有一個簡單的filebeat的配置檔案filebeat.yml的樣本,filebeat會使用很多預設的選項。

filebeat.prospectors:

- input_type: log

  paths:

    - /var/log/*.log

#- c:\programdata\elasticsearch\logs\*

 

讓我們來配置filebeat

1、定義你的日誌檔案的路徑(一個或多個)

對於大多數的基本filebeat配置,你可以定義一個單一探測器針對一個單一的路徑,例如:

 

filebeat.prospectors:

- input_type: log

  paths:

    - /var/log/*.log

 #json.keys_under_root: true 若收取日誌格式為json的log,請開啟此配置

 

在這個例子中,探測器會收集/var/log/*.log的所有匹配檔案,這意味這filebeat會手機所有的/var/log下以.log結尾的檔案,此處還支援Golang Glob支援的所有模式。

在預定義級別的子目錄中獲取所有檔案,可以使用這個配置:/var/log/*/*.log,這會找到/var/log下所有子目錄中所有的以.log結尾的檔案。但它並不會找到/var/log資料夾下的以.log結尾的檔案。現在它還不能遞迴的在所有子目錄中獲取所有的日誌檔案。

如果你設定輸出到elasticsearch中,那麼你需要在filebeat的配置檔案中設定elasticsearchIP地址與埠。

 

output.elasticsearch:

  hosts: ["192.168.1.42:9200"]

 

如果你設定輸出到logstarsh,那麼請參考第三步,配置filebeat使用logstarsh

第三步:配置filebeat或elasticsearch使用logstarsh

如果要使用logstashfilebeat收集起來的資料執行其他處理,你需要配置filebeat使用logstash

你需要編輯filebeat的配置檔案,註釋elasticsearch的選項,並開啟logstash的配置的註釋:

 

#----------------------------- Logstash output --------------------------------

output.logstash:

  hosts: ["127.0.0.1:5044"]

 

hosts選項需要指明logstash服務所監聽的地址和它的埠。

注:若要測試你的配置檔案,切換到你安裝好的filebeat的可執行檔案的目錄,然後在命令列執行以下選項:./filebeat -configtest -e ,確保您的配置檔案在預設配置檔案目錄下,見 目錄佈局

 

在使用這個配置之前,你需要提前設定好logstash來接收資料。

 

如果想不通過logstash直接入庫到elasticsearch,可註釋掉logstash入庫部分,直接開啟elasticsearch入庫部分即可。

 

output.elasticsearch:

  hosts: ["localhost:9200"]

 

第四步:啟動filebeat

rpm安裝:

sudo /etc/init.d/filebeat start

 

現在,filebeat已經準備好讀取你的日誌檔案併傳送到你定義的輸出中了!

 


更多精彩,盡在:

 

http://www.cnblogs.com/kerwinC

相關文章