-
1.elk环境搭建
-
2.filebeat程序安装
-
3.filebeat配置修改
-
filebeat.yml修改如下
# 监控日志文件地址
paths:- d:/_tmp/log/*.log
# 类型修改
document_type: provider_log
# 对于行不是以日期(格式如:2017-09-17 16:21:14.313)开头,都归到上一行
multiline.pattern: ^\d{4}([-]\d{2}){2}\s\d{2}([:]\d{2}){2}[.]\d{3}
multiline.negate: true
multiline.match: after
# 输出到logstash
output.logstash:
hosts: ["localhost:5044"]
-
filebeat.yml修改如下
# 监控日志文件地址 paths:- d:/_tmp/log/*.log # 类型修改 document_type: provider_log # 对于行不是以日期(格式如:2017-09-17 16:21:14.313)开头,都归到上一行 multiline.pattern: ^\d{4}([-]\d{2}){2}\s\d{2}([:]\d{2}){2}[.]\d{3} multiline.negate: true multiline.match: after # 输出到logstash output.logstash: hosts: ["localhost:5044"]
-
4.logstash配置如下:
-
作用:先从每行日志中提取时间再放到@timestamp字段中
-
-
filelog.cfg的内容如下
input {
beats {
port => 5044
}
}
filter {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:logdate}"]
}
date {
match => ["logdate", "yyyy-MM-dd HH:mm:ss.SSS"]
target => "@timestamp"
}
}
output{
stdout{
codec=>rubydebug{}
}
elasticsearch{
hosts=>["127.0.0.1:9200"]
index => "test-%{[@metadata][type]}-%{+YYYY.MM.dd}"
}
}
- 作用:先从每行日志中提取时间再放到@timestamp字段中
-
filelog.cfg的内容如下
input { beats { port => 5044 } } filter { grok { match => ["message", "%{TIMESTAMP_ISO8601:logdate}"] } date { match => ["logdate", "yyyy-MM-dd HH:mm:ss.SSS"] target => "@timestamp" } } output{ stdout{ codec=>rubydebug{} } elasticsearch{ hosts=>["127.0.0.1:9200"] index => "test-%{[@metadata][type]}-%{+YYYY.MM.dd}" } }
版权声明:本文为lpayit原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。