在conf.d目录下创建文件logs.conf用于收集*.log中的日志
input {
tcp {
port => 4560
codec => json
}
file {
path => "/data/securityopdata/synctool/logs/*.log"
type => "logfile"
start_position => "beginning"
#sincedb_path => "/dev/null"
codec => multiline {
pattern => "^%{TIMESTAMP_ISO8601}"
what => "previous"
negate => true
}
add_field => {
HOSTNAME => "XXX的空间"
project_name => "synctool"
}
}
file {
path => "/data/securityopdata/syncapi/logs/*.log"
type => "logfile"
start_position => "beginning"
#sincedb_path => "/dev/null"
codec => multiline {
pattern => "^%{TIMESTAMP_ISO8601}"
what => "previous"
negate => true
}
add_field => {
HOSTNAME => "XXXXX的空间"
project_name => "syncapi"
}
}
}
filter{
if([project_name] == "syncapi" or [project_name] == "synctool"){
grok {
match => {
"message" => "%{TIMESTAMP_ISO8601:createTime}\s*\[\s*%{WORD:level}\s*\]\s*\[\s*(?<logger_name>.*?)\s*\]\s*(?<message>.*)"
}
overwrite => ["message"]
}
}
date {
match => ["createTime","yyyy-MM-dd HH:mm:ss","UNIX"]
#target => "asdfasf"
}
}
本文介绍如何使用Logstash配置文件收集特定路径下的.log文件,通过TCP和file输入插件接收JSON格式的日志数据,并利用grok过滤器解析日志消息。
856

被折叠的 条评论
为什么被折叠?



