1. 程式人生 > >EFK之filebeat線上使用方法個人線上應用及參考地址--我帶你入門到成F神

EFK之filebeat線上使用方法個人線上應用及參考地址--我帶你入門到成F神

Filebeat是一個輕量級的託運人,用於轉發和集中日誌資料。Filebeat作為代理安裝在伺服器上,監視您指定的日誌檔案或位置,收集日誌事件,並將它們轉發到Elasticsearch或 Logstash進行索引。

以下是Filebeat的工作原理:啟動Filebeat時,它會啟動一個或多個輸入,這些輸入將查詢您為日誌資料指定的位置。對於Filebeat找到的每個日誌,Filebeat啟動一個收集器。每個收集器為新內容讀取單個日誌,並將新日誌資料傳送到libbeat,libbeat聚合事件並將聚合資料傳送到您為Filebeat配置的輸出。
EFK之filebeat線上使用方法個人線上應用及參考地址--我帶你入門到成F神

Filebeat是一個Beat,它基於libbeat框架。

Step 1: Install Filebeat

要下載並安裝Filebeat,請使用適用於您的系統的命令:
DEB:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-amd64.deb
sudo dpkg -i filebeat-6.5.4-amd64.deb~~

轉:

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

蘋果電腦:

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

Linux的:

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz
tar xzvf filebeat-6.5.4-linux-x86_64.tar.gz

第二步、配置Filebeat
要配置Filebeat,請編輯配置檔案。呼叫預設配置檔案 filebeat.yml。檔案的位置因平臺而異。
還有一個名為的完整示例配置檔案filebeat.reference.yml ,顯示了所有未棄用的選項
(注意主配置檔案filebeat.yml可以不唯一,啟動時可以制定自己寫的yml)


以下是filebeat該filebeat.yml檔案部分的示例。Filebeat使用大多數配置選項的預定義預設值。

filebeat.inputs:
-  type:log 
  enabled:true 
  paths:
    - 
    / var / log / * 。log # -  c:\ programdata \ elasticsearch \ logs \ *

配置Filebeat:

定義日誌檔案的路徑(或路徑)。

對於最基本的Filebeat配置,您可以使用單個路徑定義單個輸入。例如:

filebeat.inputs:
-  type:log 
  enabled:true 
  paths:
    -  /var/log/*.log

此示例中的輸入收集路徑中的所有檔案/var/log/*.log,這意味著Filebeat將收集目錄/var/log/結尾的所有檔案.log。

要從預定義級別的子目錄中獲取所有檔案,可以使用以下模式: /var/log//.log。這.log將從子資料夾中獲取所有檔案/var/log。它不從/var/log資料夾本身獲取日誌檔案。目前,無法以遞迴方式獲取目錄的所有子目錄中的所有檔案。
配置輸出。Filebeat支援各種 輸出,但通常您可以將事件直接傳送到Elasticsearch,也可以傳送到Logstash以進行其他處理。

要將輸出直接傳送到Elasticsearch(不使用Logstash),請設定Elasticsearch安裝的位置:

  • 如果您 在Elastic Cloud上執行我們 託管的Elasticsearch Service,請指定您的Cloud ID。例如:

cloud.id:“staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw ==”

  • 如果您在自己的硬體上執行Elasticsearch,請設定Filebeat可以找到Elasticsearch安裝的主機和埠。例如:
output.elasticsearch:
  hosts:[“myEShost:9200”]

如果您計劃使用隨Filebeat提供的示例Kibana儀表板,請配置Kibana端點。如果Kibana與Elasticsearch在同一主機上執行,​​則可以跳過此步驟。

setup.kibana:
  host:“mykibanahost:5601”

例如,執行Kibana的計算機的主機名和埠mykibanahost:5601。如果在埠號後面指定路徑,請包括方案和埠:http://mykibanahost:5601/path

如果要使用Logstash對Filebeat收集的資料執行其他處理,則需要配置Filebeat以使用Logstash。
第三步
要執行此操作,請編輯Filebeat配置檔案以通過註釋掉它來禁用Elasticsearch輸出,並通過取消註釋logstash部分來啟用Logstash輸出:

#----------------------------- Logstash輸出------------------ --------------

output.logstash:
  hosts: ["127.0.0.1:5044"]

該hosts選項指定Logstash伺服器和port(5044),其中Logstash配置為偵聽傳入的Beats連線。

對於此配置,您必須手動將索引模板載入到Elasticsearch中, 因為自動載入模板的選項僅適用於Elasticsearch輸出。

第四步 在elasticsearch中載入索引模板

在Elasticsearch中,索引模板用於定義確定如何分析欄位的設定和對映。

Filebeat的推薦索引模板檔案由Filebeat包安裝。如果接受filebeat.yml配置檔案中的預設配置,則 Filebeat會在成功連線到Elasticsearch後自動載入模板。如果模板已存在,則除非您配置Filebeat,否則不會覆蓋該模板。

配置模板載入編輯
預設情況下,fields.yml如果啟用了Elasticsearch輸出,Filebeat會自動載入推薦的模板檔案 。如果要使用預設索引模板,則不需要其他配置。否則,您可以將filebeat.yml配置檔案中的預設值更改為:

  • 載入不同的模板
setup.template.name:“your_template_name”
setup.template.fields:“path / to / fields.yml”

如果模板已存在,則除非您配置Filebeat,否則不會覆蓋該模板。

  • 覆蓋現有模板

setup.template.overwrite:true

* 禁用自動模板載入

setup.template.enabled:false


*  更改索引名稱

預設情況下,Filebeat將事件寫入命名的索引 filebeat-6.5.4-yyyy.MM.dd,其中yyyy.MM.dd是事件索引的日期。要使用其他名稱,請index在Elasticsearch輸出中設定該 選項。您指定的值應包括索引的根名稱以及版本和日期資訊。您還需要配置setup.template.name和 setup.template.pattern選項以匹配新名稱。例如:

output.elasticsearch.index:“customname - %{[beat.version]} - %{+ yyyy.MM.dd}”
setup.template.name:“customname”
setup.template.pattern:“customname- *”

如果您使用的是預先構建的Kibana儀表板,請同時設定該 setup.dashboards.index選項。例如:

`setup.dashboards.index:“customname- *”``



**手動載入模板編輯**
要手動載入模板,請執行該setup命令。需要連線到Elasticsearch。如果啟用了另一個輸出,則需要暫時​​禁用該輸出並使用該-E選項啟用Elasticsearch 。此處的示例假定已啟用Logstash輸出。-E如果已啟用Elasticsearch輸出,則可以省略標誌。

如果要連線到安全的Elasticsearch叢集,請確保已按照步驟2:配置Filebeat中所述配置憑據。

如果執行Filebeat的主機沒有與Elasticsearch的直接連線,請參閱手動載入模板(備用方法)。

要載入模板,請使用適用於您系統的命令。

deb和rpm:

> filebeat setup --template -E output.logstash.enabled = false -E'output.elasticsearch.hosts = [“localhost:9200”]'

蘋果電腦:

> ./filebeat setup --template -E output.logstash.enabled = false -E'output.elasticsearch.hosts = [“localhost:9200”]'

Linux的:

./filebeat setup --template -E output.logstash.enabled = false -E'output.elasticsearch.hosts = [“localhost:9200”]'
docker:

> docker run docker.elastic.co/beats/filebeat:6.5.4 setup --template -E output.logstash.enabled = false -E'output.elasticsearch.hosts = [“localhost:9200”]'

win:

以管理員身份開啟PowerShell提示符(右鍵單擊PowerShell圖示,然後選擇“以管理員身份執行”)。

在PowerShell提示符下,切換到Filebeat的安裝目錄,然後執行:

> PS>。\ filebeat.exe setup --template -E output.logstash.enabled = false -E'output.elasticsearch.hosts = [“localhost:9200”]'

強制Kibana檢視最新的文件編輯
如果您已經使用Filebeat將資料索引到Elasticsearch,則索引可能包含舊文件。載入索引模板後,您可以刪除舊文件filebeat-*以強制Kibana檢視最新文件。

使用此命令:

deb和rpm:

> curl -XDELETE'http:// localhost:9200 / filebeat- *'

蘋果電腦:

> curl -XDELETE'http:// localhost:9200 / filebeat- *'

Linux的:

> curl -XDELETE'http:// localhost:9200 / filebeat- *'

win:

> PS> Invoke-RestMethod -Method刪除“http:// localhost:9200 / filebeat- *”

此命令刪除與模式匹配的所有索引filebeat-*。在執行此命令之前,請確保要刪除與該模式匹配的所有索引。

手動載入模板(備用方法)編輯
If the host running Filebeat does not have direct connectivity to Elasticsearch, you can export the index template to a file, move it to a machine that does have connectivity, and then install the template manually.

To export the index template, run:

deb and rpm:

> filebeat export template > filebeat.template.json

mac:

> ./filebeat export template > filebeat.template.json

linux:

> ./filebeat export template > filebeat.template.json

win:

> PS > .\filebeat.exe export template --es.version 6.5.4 | Out-File -Encoding UTF8 filebeat.template.json
> To install the template, run:

deb and rpm:

> curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-6.5.4 [email protected]

mac:

> curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-6.5.4 [email protected]

linux:

> curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-6.5.4 [email protected]

win:

> PS > Invoke-RestMethod -Method Put -ContentType "application/json" -InFile filebeat.template.json -Uri http://localhost:9200/_template/filebeat-6.5.4

好了今天入門就到這裡了,改天整理文件的時候繼續。