介紹
Logstash是一個具有實(shí)時管道功能的開源數(shù)據(jù)收集引擎华嘹,Logstash可以動態(tài)地將來自不同數(shù)據(jù)源的數(shù)據(jù)統(tǒng)一起來吧趣,并將數(shù)據(jù)規(guī)范化為你選擇的目的地,清理和大眾化你的所有數(shù)據(jù)耙厚,用于各種高級下游分析和可視化用例强挫。
雖然Logstash最初推動了日志收集方面的創(chuàng)新,但是它的功能遠(yuǎn)遠(yuǎn)超出了這個用例薛躬,任何類型的事件都可以通過大量的輸入俯渤、過濾器和輸出插件來豐富和轉(zhuǎn)換,使用許多原生編解碼可以進(jìn)一步簡化攝取過程型宝。Logstash通過利用大量和多種數(shù)據(jù)來提高你的洞察力八匠。安裝使用
-
下載logstash鏡像
docker pull logstash:7.4.1
查看鏡像
docker images
編輯logstash.yml配置文件
logstash.yml配置文件放在宿主機(jī)/home/logstash目錄下,內(nèi)容如下:
path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /home/logstash/logs
- 新建logstash.conf文件
logstash.conf文件放在宿主機(jī)/data/elk/logstash/logstash.conf目錄下趴酣,內(nèi)容如下
input {
beats {
port => 5044
codec => "json"
}
}
output {
elasticsearch { hosts => ["192.168.12.183:9200"] }
stdout { codec => rubydebug }
}
最終目錄為- 啟動logstash
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -p 5044:5044 --name xinyar-logstash -v /home/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /home/logstash/logstash.conf/:/usr/share/logstash/conf.d/ logstash:7.4.1
- 啟動成功后使用命令查看容器狀態(tài)
docker logs logstash
整合filebeat后梨树,采集logback java日志配置
input {
beats {
port => 5044
}
}
filter{
grok{match => ["message","%{TIMESTAMP_ISO8601:timestamp} \[%{DATA:thread}\] %{DATA} %{LOGLEVEL:level} %{NOTSPACE:className} \[%{DATA:line}\] %{GREEDYDATA:info}"]}
mutate {
remove_field => "input"
remove_field => "tags"
remove_field => "ecs"
remove_field => "@version"
remove_field => "host"
remove_field => "path"
}
}
output {
elasticsearch {
hosts => ["192.168.1.137:9200"]
index => ["logstath-%{[fields][index]}-%{+YYYY-MM-dd}"]
}
stdout { codec => rubydebug }
}
配置文件中fields和index來自filebeat中配置信息