ELK 上手4 安裝filebeat并讀取日志寫入Redis
- 一、準備環境
- 二、安裝filebeat
- 三、logstash設定
- 四、啟動filebeat除錯
- 五、到kibana建一個索引,名稱與自己建的索引名稱一致
- 六、filebeat配置多行日志選項
一、準備環境
- CentOS
- 已安裝ELK
二、安裝filebeat
官網下載地址:
https://www.elastic.co/cn/downloads/beats/filebeat
cd ~/home
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gz
tar -xzvf filebeat-7.16.2-linux-x86_64.tar.gz
rm filebeat-7.16.2-linux-x86_64.tar.gz
cd filebeat-7.16.2-linux-x86_64/
# 修改組態檔
vim filebeat.yml
直接連接logstash:
設定:
filebeat.inputs:
- type: filestream
enabled: true
paths:
- ./sample.log
output.logstash:
hosts: ["localhost:9600"]
顯示結果:
[root@local filebeat-7.16.2-linux-x86_64]$ ./filebeat test output
logstash: localhost:9600...
connection...
parse host... OK
dns lookup... OK
addresses: ::1, 127.0.0.1
dial up... OK
TLS... WARN secure connection disabled
talk to server... OK
三、logstash設定
input {
beats {
port => 9600
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "你的索引名稱_%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
這里定義了4561接收日志,并輸出到elasticsearch,
重新加載logstash,
四、啟動filebeat除錯
./filebeat -e -c filebeat.yml
# 后臺啟動
nohup ./filebeat -e -c filebeat.yml > /dev/null &
五、到kibana建一個索引,名稱與自己建的索引名稱一致
然后去Discover,發現這時可以看到日志了,但格式不太友好,

六、filebeat配置多行日志選項
配置多行日志配置項示例:
multiline.pattern: '^\['
multiline.negate: true
multiline.match: after
上面意思是將所有不是以[開頭的行與之前行進行合并 ,
引數講解:
multiline.pattern 匹配多行的正則運算式
multiline.negate 多行模式是否禁用,默認為false
multiline.match 如何合并,可選的值是 after 或者 before,
multiline.flush_pattern 指定一個正則運算式,多行將從記憶體重繪到磁盤,
multiline.max_lines 可以合并成一個事件的最大行數,超出將丟棄,默認值500,
正則運算式可以使用:space:表示空格,如:
multiline.pattern: '^[[:space:]]'
表示合并以空格開始的行,
可以使用|來表示或操作:
multiline.pattern: '^[[:space:]]+(at|\.{3})\b|^Caused by:'
上面表示空格開頭或以Caused by:開頭的進行合并,
下面是合并反斜杠結束的行,使用一個\轉義,$是代表結束符
multiline.pattern: '\\$'
針對ThinkPHP日志特點,起始行會有一排 -----,所以可以設定多行匹配模式如下:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
multiline.pattern: '^-'
multiline.negate: true
multiline.match: after
encoding: utf-8
這時再去kibana看日志顯示,點擊左側message,只顯示message內容 ,這時右邊顯示就友好多了:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/400420.html
標籤:其他
上一篇:Docker學習總結
