FileBeat模塊配置采集

Filebeat模塊簡化了公共日志格式的收集、解析和可視化。
一個典型的模塊(例如,對于Nginx日志)是由一個或多個fileset組成的(以Nginx為例,access 和 error)。
一個fileset包含以下內容:

  • Filebeat 輸入配置,其中包含要默認的查找或者日志文件路徑。這些默認路徑取決于操作系統(tǒng)。Filebeat配置還負責在需要的時候拼接多行事件。
  • Elasticsearch Ingest Node 管道定義,用于解析日志行。
  • 字段定義,用于為每個字段在Elasticsearch中配置正確類型。它們還包含每個字段的簡短描述。
  • 簡單的Kibana dashboards,用于可視化日志文件。
    Filebeat會根據(jù)你的環(huán)境自動調整這些配置,并將它們加載到相應的 Elastic stack 組件中。

1、常用日志格式的模塊

Filebeat提供了一組預先構建的模塊,你可以使用這些模塊快速實現(xiàn)并部署一個日志監(jiān)控解決方案,包括樣例指示板和數(shù)據(jù)可視化,完成這些大約只需要5分鐘。

這些模塊支持常見的日志格式,如Nginx、Apache2和MySQL,可以通過一個簡單的命令來運行。

1.1 先決條件

在運行Filebeat模塊之前:

  • 安裝并配置Elastic stack

  • 完成Filebeat的安裝

  • 安裝 Ingest Node GeoIPUser Agent 插件。這些插件用來捕獲地理位置和瀏覽器信息,以供可視化組件所用

  • 檢查Elasticsearch和Kibana是否正在運行,以及Elasticsearch是否準備好從Filebeat那里接收數(shù)據(jù)

你可以在Elasticsearch主目錄下運行下列命令來安裝這些插件:

sudo bin/elasticsearch-plugin install ingest-geoipsudo bin/elasticsearch-plugin install ingest-user-agent

然后,重啟Elasticsearch

1.2 運行Filebeat模塊

第1步:在filebeat.yml配置文件中設置Elasticsearch安裝的位置。默認情況下,F(xiàn)ilebeat假設Elasticsearch運行在9200端口上。

如果你是運行在Elastic Cloud上,指定你的Cloud ID。例如:

cloud.id: "staging:dXMtZWFzdC0xLmlOTYyNTc0Mw=="

如果你是運行在自己的硬件設備上,設置主機和端口。例如:

output.elasticsearch:
    hosts: ["myEShost:9200"]

第2步:如果Elasticsearch配置了安全策略,你需要在filebeat.yml中指定訪問的憑證。

如果你運行在Elastic Cloud上,請指定你的授權憑證。例如:

cloud.auth: "elastic:YOUR_PASSWORD"

如果你運行在自己的硬件設備上,請指定你的Elasticsearch和Kibana憑證。例如:

output.elasticsearch:
  hosts: ["myEShost:9200"]
  username: "filebeat_internal"
  password: "YOUR_PASSWORD" 
setup.kibana:
  host: "mykibanahost:5601"
  username: "my_kibana_user"  
  password: "YOUR_PASSWORD"

第3步:啟用你想運行的模塊。例如:

./filebeat modules enable system nginx mysql

第4步:設置初始環(huán)境:

./filebeat setup -e

第5步:運行Filebeat

./filebeat -e

第6步:在Kibana中查看你的數(shù)據(jù)

1.3 設置路徑變量

每個模塊和fileset都有變量,你可以設置它們,以改變模塊的默認行為,包括模塊查找日志文件的路徑。

可以在配置文件或者命令行下設置這些路徑。例如:

- module: nginx
  access:
    var.paths: ["/var/log/nginx/access.log*"]

或者

./filebeat -e -M "nginx.access.var.paths=[/usr/local/var/log/nginx/access.log*]"

2、Nginx模塊

nginx模塊解析Nginx創(chuàng)建的access和error日志

當你運行模塊的時候,它在底層執(zhí)行一些任務:

  • 設置默認的日志文件路徑

  • 確保將每個多行日志事件作為單個事件發(fā)送

  • 使用ingest節(jié)點解析和處理日志行,將數(shù)據(jù)塑造成適合在Kibana中可視化的結構

  • 部署顯示日志數(shù)據(jù)的dashboards

這個模塊需要 ingest-user-agentingest-geoip 兩個Elasticsearch插件

2.1 設置并運行模塊

第1步:啟用模塊

./filebeat modules enable nginx

為了查看啟用或者禁用的模塊列表,運行:

./filebeat modules list

第2步:設置初始環(huán)境

./filebeat setup -e

第3步:運行

./filebeat -e

2.2 配置模塊

通過在modules.d/nginx.yml中指定變量設置,或者在命令行中重寫設置來改變模塊的行為。例如:

- module: nginx
  access:
    enabled: true
    var.paths: ["/path/to/log/nginx/access.log*"]
  error:
    enabled: true
    var.paths: ["/path/to/log/nginx/error.log*"]

或者

-M "nginx.access.var.paths=[/path/to/log/nginx/access.log*]" -M "nginx.error.var.paths=[/path/to/log/nginx/error.log*]"

3、Kafka模塊

3.1 配置

- module: kafka
  log:
    enabled: true
    var.paths:
      - "/path/to/logs/controller.log*"
      - "/path/to/logs/server.log*"
      - "/path/to/logs/state-change.log*"
      - "/path/to/logs/kafka-*.log*"

或者

-M "kafka.log.var.paths=[/path/to/logs/controller.log*, /path/to/logs/server.log*, /path/to/logs/state-change.log*, /path/to/logs/kafka-*.log*]"

其它模塊配置大同小異,不再贅述。

4、啟動模塊

Filebeat提供了幾種啟用模塊的不同方式:

4.1 用modules.d目錄啟用模塊配置

./filebeat modules enable apache2 mysql

4.2 運行Filebeat是啟用模塊

./filebeat --modules nginx,mysql,system

4.3 在filebeat.yml中啟用模塊

如果可能的話,你應該用modules.d目錄下的配置文件

filebeat.modules:
- module: nginx
- module: mysql
- module: system

鏈接:https://www.imooc.com/article/70007
來源:慕課網(wǎng)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容