Filebeat 參考指南(第3步:在Elasticsearch中加載索引模板)

第3步:在Elasticsearch中加載索引模板

加載索引模板須要鏈接到Elasticsearch,若是輸出不是Elasticsearch,則必須手動加載模板。

在Elasticsearch中,索引模板用於定義肯定如何分析字段的設置和映射。linux

Filebeat的推薦索引模板文件由Filebeat包安裝,若是你接受filebeat.yml配置文件中的默認配置,Filebeat會在成功鏈接到Elasticsearch後自動加載模板,若是模板已存在,則除非你配置Filebeat,不然不會覆蓋該模板。docker

配置模板加載

默認狀況下,若是啓用了Elasticsearch輸出,Filebeat會自動加載推薦的模板文件fields.yml,若是要使用默認索引模板,則不須要其餘配置,不然,你能夠將filebeat.yml配置文件中的默認值更改成:json

  • 加載不一樣的模板segmentfault

    setup.template.name: "your_template_name"
    setup.template.fields: "path/to/fields.yml"

    若是模板已存在,則除非你配置Filebeat,不然不會覆蓋該模板。安全

  • 覆蓋現有模板app

    setup.template.overwrite: true
  • 禁用自動模板加載curl

    setup.template.enabled: false

    若是禁用自動模板加載,則須要手動加載模板。elasticsearch

  • 更改索引名稱

    url

    若是要將事件發送到支持索引生命週期管理的集羣,請參閱配置索引生命週期管理以瞭解如何更改索引名稱。

    code

    默認狀況下,當禁用或不支持索引生命週期管理時,Filebeat使用時間系列索引,索引名爲filebeat-7.3.0-yyyy.MM.dd,其中yyyy.MM.dd是事件索引的日期,要使用其餘名稱,請在Elasticsearch輸出中設置index選項。你指定的值應包括索引的根名稱以及版本和日期信息,你還須要配置setup.template.namesetup.template.pattern選項以匹配新名稱,例如:

    output.elasticsearch.index: "customname-%{[agent.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輸出,若是已啓用Elasticsearch輸出,則能夠省略-E標誌。

若是要鏈接到安全的Elasticsearch集羣,請確保已按第2步:配置Filebeat中所述配置憑據。

若是運行Filebeat的主機沒有與Elasticsearch的直接鏈接,請參閱手動加載模板(備用方法)。

要加載模板,請使用適用於你係統的命令。

deb和rpm:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

mac:

./filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

brew:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

linux:

./filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

docker:

docker run docker.elastic.co/beats/filebeat:7.3.0 setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

win:

以管理員身份打開PowerShell提示符(右鍵單擊PowerShell圖標,而後選擇「以管理員身份運行」)。

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

PS > .\filebeat.exe setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

強制Kibana查看最新文檔

若是你已經使用Filebeat將數據索引到Elasticsearch中,則索引可能包含舊文檔,加載索引模板後,能夠從filebeat-*中刪除舊文檔,以強制Kibana查看最新文檔。

使用此命令:

deb和rpm:

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

mac:

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

linux:

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

win:

PS > Invoke-RestMethod -Method Delete "http://localhost:9200/filebeat-*"

此命令刪除與模式filebeat-*匹配的全部索引,在運行此命令以前,請確保要刪除與該模式匹配的全部索引。

手動加載模板(備用方法)

若是運行Filebeat的主機沒有與Elasticsearch的直接鏈接,則能夠將索引模板導出到文件,將其移動到具備鏈接的計算機,而後手動安裝模板。

要導出索引模板,請運行:

deb和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 7.3.0 | Out-File -Encoding UTF8 filebeat.template.json

要安裝模板,請運行:

deb和rpm:

curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.3.0 -d@filebeat.template.json

mac:

curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.3.0 -d@filebeat.template.json

linux:

curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.3.0 -d@filebeat.template.json

win:

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

上一篇:第2步:配置Filebeat

相關文章
相關標籤/搜索