filebeat 輸入配置編寫(基本配置)
efk 中filebeat的檔案輸入 抽取本地檔案的配置檔案編寫
filebeat.inputs:-
type
: log
enabled
:true
paths
:- /var/log/*.log
#- /var/log/*/*.log
# 抽取普通日誌。模組格式化抽取。
-type
: log
paths:-
"/var/log/apache2/*"
fields
:apache
:true
fields_under_root
:true
url: 官方網文件的抽取和配置。
因為抽取日誌的時候 日誌的訊息的採集是屬於多個檔案的奪取 所需需要配置一些多行管理的引數事件
multiline.type
: pattern
multiline.pattern
: '^\[' # 採用正則匹配對所採集日誌進行模組化區分
multiline.negate
:true
# 根據一下兩個引數,對所採集日誌進行模組化劃分
multiline.match
: after
exclude_lines:[
'^dbg'
]#不包含的字段行數過濾
include_lines:[
'^err'
,'^warn'
]# 包含的字段行
容器日誌的收集
輸入配置
如果在docker 的配置檔案中deam.json
dokcer 預設的日誌日誌驅動是json-file
,該驅動將將來自容器的 stdout 和 stderr 日誌都統一以json
的形式儲存到本地磁碟
,"bip"
:"172.17.0.1/16"
,"data-root"
:"/var/lib/docker"
,}
指定了容器的docker info 或者docker logs
則 filebeat的容器收集的引數配置
-
type
: container
paths:-
'/var/lib/docker/containers/*/*.log'
#k8s的採取的選項讀取
-type
: container
stream
: stdout
paths:-
"/var/log/containers/*.log"
# 因為採取日誌的格式json的格式 所以必須採用 json格式的解析配置檔案。
json.keys_under_root
:true
json.add_error_key
:true
json.overwrite_keys
:true
filebeat從kafka中收集資料filebeat.inputs:-
type
: kafka
hosts
:- kafka-broker-1:
9092
- kafka-broker-2:
9092
topics:[
"my-topic"
]# kafka的標題。
group_id
:"filebeat"
filebeat 的模組使用# rpm包安裝的話直接指令執行
filebeat modules enable system nginx mysql
# 原始碼安裝
./filebeat modules enable system nginx mysql
msyql開啟模組使用(示例)# 進入filebeat配置目錄 modules.d/mysql.yml
-module
: mysql
error
:enabled
:true
var.paths:[
"/path/to/log/mysql/error.log*"
]# 這個路徑一般是被靜止得。
slowlog
:enabled
:true
var.paths:[
"/path/to/log/mysql/mysql-slow.log*"
]
filebeat的基本配置
基本引數配置
filebeat.registry.path
: registry
# 登錄檔的根路徑 rpm 安裝得回在/var/lib//var/lib/filebeat/registry/
filebeat.registry.file_permissions
:0600
# 登錄檔得許可權
registry.flush
: 1s
# 登錄檔刷得時間(這個引數涉及優化性質)
filebeat.config_dir
: path/to/configs
# 配置檔案得絕對路徑rpm安裝情況下會選擇/configs
filebeat.shutdown_timeout
: 5s
# 乙個延遲滯後得配置引數,這個配置引數主要是在於看當前監控服務得軟體服務質量。
全域性環境配置專案路徑path.home
: /usr/share/beat
path.config
: /etc/beat
path.data
: /var/lib/beat
path.logs
: /var/log/
# 這樣的配置路徑在全域性的變數中可以使用 $指定
# 配置檔案的實時載入和配置模組的實時載入
filebeat.config.inputs
:enabled
:true
path
: configs/*.yml
reload.enabled
:true
reload.period
: 10s # 沒有必要設定為小於1s
filebeat.config.modules
:# glob pattern for configuration loading
path
: $/modules.d/*.yml
# set to true to enable config reloading
reload.enabled
:true
filebeat的輸出
輸出到elasticsearch
output.elasticsearch
# 基於不同的驗證環境輸出
# api_key: "knr6ye41rrsowb0kq0hwoa"
# ssl.certificate: "/etc/pki/client/cert.pem"
# ssl.key: "/etc/pki/client/cert.key"
輸出到logstashoutput.logstash
:# 如果是多節點可輸入多個ip位址
hosts:[
"127.0.0.1:5044"
]# 是否啟用壓縮,啟用壓縮的話會導致cpu運算壓力增大
compression_level:3
# 多節點的logstash是保持 負載平很
loadbalance
:true
輸出到kafkaoutput.kafka
:# initial brokers for reading cluster metadata
hosts:[
"kafka1:9092"
,"kafka2:9092"
,"kafka3:9092"
]# message topic selection + partitioning
topic
:'%'
partition.round_robin
:reachable_only
:false
required_acks:1
compression
: gzip
max_message_bytes
:1000000
# 這個的引數大小需要根據實際情況調優
輸出到redisoutput.redis
:hosts:[
"localhost"
]password
:"my_password"
key:
"filebeat"db:
0timeout
:5
Filebeat的高階配置 Filebeat部分
filebeat的配置檔案是 etc filebeat filebeat.yml,遵循yaml語法。具體可以配置如下幾個專案 這個blog主要講解filebeat的配置部分,其他部分後續會有新的blog介紹。filebeat的部分主要定義prospector的列表,定義監控 的日誌檔案,關於如何定義...
Filebeat的高階配置 Filebeat部分
filebeat的配置檔案是 etc filebeat filebeat.yml,遵循yaml語法。具體可以配置如下幾個專案 這個blog主要講解filebeat的配置部分,其他部分後續會有新的blog介紹。filebeat的部分主要定義prospector的列表,定義監控 的日誌檔案,關於如何定義...
filebeat安裝配置
輕量型日誌採集器 當您要面對成百上千 甚至成千上萬的伺服器 虛擬機器和容器生成的日誌時,請告別 ssh 吧。filebeat 將為您提供一種輕量型方法,用於 和彙總日誌與檔案,讓簡單的事情不再繁雜。彙總 tail f 和搜尋 啟動 filebeat 後,開啟 logs ui,直接在 kibana 中...