Filebeat 導入 Elastaticsearch 的方法
1. 什么是Filebeat?到底是干什么的?
Filebeat說實話,就是一個日志監控分發器,類似tail -f這樣去監控某個日志,或者是某個目錄下的日志文件。它會監控日志目錄或者指定的日志文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀),並且轉發這些信息到elasticsearch或者logstarsh中存放。
2. 如何安裝Filebeat?
官網下載rpm包地址:點進去直接選下載
下載下來RPM包,直接rpm -ivh filebeat.rpm就可以了
3. filebeat的正確配置
這里比較重要,我會在這里詳細的說一下filebeat的基本配置。
我這里定義了:
1.多個日志文件導入
2.多個日志文件區分
3.多個日志文件不同的index索引
4.日志index名稱修改
- type: log # 日志類型
enabled: true #監控開啟
paths: # 日志的存放位置,你可以用*.log來監控所有日志
- /var/log/infinity_moninfo.log
tags: ["monlog"] #日志tag,自定義的一個值,做區分用
fields:
type: monlog #修改type的值為monlog, 原來為log
fields_under_root: true #替換/覆蓋默認的filed值,也就是上面的type
- type: log
enabled: true
paths:
- /var/log/infinity_opinfo.log
tags: ["oplog"]
fields:
type: oplog
fields_under_root: true
- type: log
enabled: true
paths:
- /var/log/smbd_audit.log
tags: ["auditlog"]
fields:
type: auditlog
fields_under_root: true
setup.template.settings:
index.number_of_shards: 3 #分片個數
output.elasticsearch: #基礎的Es設置
hosts: ["127.0.0.1:9200"] #Es的地址
indices: #自定義索引
#- index: "monlog-%{+yyyy-MM-dd}" #舊的索引默認是帶日期的,如果要修改默認的模式,需要在下面template進行配置
- index: "monlog" #設定索引monlog
when.contains: #開始區分
type: "monlog" #如果type為monlog,就默認生成monlog的索引
- index: "oplog"
when.contains:
type: "oplog"
- index: "auditlog"
when.contains:
type: "auditlog"
setup.template: #索引的默認模式修改
name: 'infinity-log' #定義為單純的姓名,如果你要定義其他的模式,例如時間,那就是:infinity-log-%{+yyyy-MM-dd}
pattern: 'infinity-log'
enabled: true
filebeat的異常處理
1.服務掛掉怎么辦?
解答:掛掉了之后,再次啟動,會從上次斷開的地方繼續監控日志。
2.刪掉了log文件該怎么辦?
解答:沒事,頂多filebeat的log報錯