系統(tǒng)架構(gòu):

1、 logstash 安裝
安裝目錄: /home/service
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.13.4-linux-x86_64.tar.gz
tar zvxf logstash-7.13.4-linux-x86_64.tar.gz
ln -sf logstash-7.13.4 logstash
mkdir /home/service/logstash/monitor
修改配置:
vim config/logstash.yml ,開放幾個配置:
pipeline.workers: 2
pipeline.batch.size: 125
pipeline.batch.delay: 50
創(chuàng)建 monitor/monitor.conf ,內(nèi)容例如:
input {
beats {
port => "5044"
type => "logstash_error_log"
}
}
filter {
if [message] !~ /.*\sERROR\s.*/ {
drop {}
}
}
output {
if [fields][service] == "error_log"{
#stdout { codec => rubydebug }
if [type] == "logstash_error_log" {
kafka {
bootstrap_servers => "kafka-ip:9092"
topic_id => "logstash_error_log"
batch_size => 1
codec => "json"
}
}
}
}
- filter 正則匹配: \sERROR\s
filter {
if [message] !~ /.*\sERROR\s.*/ {
drop {}
}
}
啟動,使用Supersivor管理進(jìn)程
/home/service/logstash/bin/logstash -f /home/service/logstash/monitor/monitor.conf --config.reload.automatic
--config.reload.automatic 參數(shù)是熱加載 -f 配置文件。
2、安裝filebeat
安裝機(jī)器:需要監(jiān)控日志的機(jī)器
安裝目錄: /home/service
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.13.4-linux-x86_64.tar.gz
tar zvxf filebeat-7.13.4-linux-x86_64.tar.gz
ln -sf filebeat-7.13.4-linux-x86_64 filebeat
修改 /home/service/filebeat/filebeat.yml 配置
- type: log # 都設(shè)置為log,不能隨意修改類型,否則filebeat啟動會報錯。
enabled: true
paths:
- /data/service/xx/logs/*.log # 需要監(jiān)控的日志路徑
# 不以 yyyy-mm-dd 開頭的,自動跟前一行合并
multiline.type: pattern
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
fields.service: error_log # 日志類型名。在flink程序中用此字段標(biāo)記發(fā)送的警告類型,以及使用的alert template名。
tags: ["ip"] # 配置所在機(jī)器的ip地址。
# ------------------------------ Logstash Output -------------------------------
output.logstash:
# Logstash安裝地址以及端口號
hosts: ["ip:5044"]
啟動,使用Supervisor管理進(jìn)程
/home/service/filebeat/filebeat -e --path.config /home/service/filebeat/
tips: filebeat 讀取監(jiān)控的文件時,會記錄offset,測試的時候,若想重復(fù)讀取文件,只需要刪除記錄即可: rm -rf /home/service/filebeat/data/registry/*