Linux安裝Filebeat采集日志文件存到Elasticsearch


概述

Filebeat是Beats家族的成員之一,是個輕量級的日志采集工具,通過收集日志信息,可以轉發到 Elasticsearch 或者 Logstash進行索引存儲。

工作原理

當啟動Filebeat時,它會啟動一個或多個輸入來定位日志文件。對於每個日志文件,都將啟動一個harvester(收割機),harvester讀取單個日志文件以獲取新的內容,並將新的日志數據發送到libbeat,libbeat聚合數據並發送到配置的output端,例如elasticsearch等等。
在這里插入圖片描述

環境

CentOS 7.3
Filebeat 7.6.0
Elasticsearch 7.6.0
官網:https://www.elastic.co/cn/beats/filebeat
官方文檔:https://www.elastic.co/guide/en/beats/filebeat/current/index.html

安裝配置

#解壓
tar -zxvf filebeat-7.6.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/filebeat-7.6.0-linux-x86_64/
#創建個測試的配置文件(控制台輸入輸出)
touch test.yml

test.yml文件內容如下:

filebeat.inputs: 
- type: stdin 
  enabled: true 
setup.template.settings: 
  index.number_of_shards: 2
output.console: 
  pretty: true
  enable: true

啟動命令

./filebeat -e -c test.yml
  • -e:輸出到標准輸出,默認輸出到syslog和logs下
  • -c:指定配置文件
  • -d:輸出debug信息

控制台測試

控制台輸入test,會帶出輸出信息:
輸出如下:
test
{
  "@timestamp": "2020-08-27T03:33:53.893Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.6.0"
  },
  "ecs": {
    "version": "1.4.0"
  },
  "host": {
    "name": "cluster01"
  },
  "agent": {
    "version": "7.6.0",
    "type": "filebeat",
    "ephemeral_id": "88c02c64-b16b-4e1e-9768-eb832433f43f",
    "hostname": "cluster01",
    "id": "7f16be81-9321-40e6-8867-124f0bee0da0"
  },
  "message": "test",
  "log": {
    "offset": 0,
    "file": {
      "path": ""
    }
  },
  "input": {
    "type": "stdin"
  }
}

讀取文件

mkdir logs
cd logs
#創建2個日志文件
touch 1.log 2.log
  • 修改配置文件input部分,並重新啟動
filebeat.inputs: 
 - type: log 
  enabled: true
  paths: ["/usr/local/filebeat-7.6.0-linux-x86_64/logs/*.log"]
  • 往log文件追加數據,查看filebeat控制台輸出
#追加數據
echo "hello world" > 1.log
#輸出如下
{
  "@timestamp": "2020-08-27T04:14:03.103Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.6.0"
  },
  "host": {
    "name": "cluster01"
  },
  "agent": {
    "id": "7f16be81-9321-40e6-8867-124f0bee0da0",
    "version": "7.6.0",
    "type": "filebeat",
    "ephemeral_id": "b25e7ac5-5e98-4c4e-b53a-882a7c7bb419",
    "hostname": "cluster01"
  },
  "log": {
    "offset": 0,
    "file": {
      "path": "/usr/local/filebeat-7.6.0-linux-x86_64/logs/1.log"
    }
  },
  "message": "hello world",
  "input": {
    "type": "log"
  },
  "ecs": {
    "version": "1.4.0"
  }
}

輸出到elasticsearch

  • 把output部分替換如下,重新啟動filebeat
#elasticsearch主機地址
output.elasticsearch: 
  hosts: ["192.168.25.132:9200","192.168.25.133:9200","192.168.25.134:9200"]
  • 繼續往log文件追加數據
echo es-msg > 2.log
echo es-msg1 > 1.log

監聽到信息,Filebeat連接ElasticSearch並創建索引
在這里插入圖片描述

打開es-head,紅框部分這2個索引,是Filebeat創建的,其中filebeat-7.6.0-2020.08.27-000001存放的是消息數據
在這里插入圖片描述
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM