Logstash ELK |日志文件grok过滤格式未推入弹性搜索
我有以下格式的日志文件要提取到弹性搜索中,但日志存储过滤的数据并没有推到弹性搜索中 同样的grok过滤配置,我可以从kibana开发工具获得它 示例日志文件: OCDE-2019-05-22 13:24:34.000错误org.ramyam.OCDE.task.NBALookupTask.checkResponsesToBeProcessed-checkResponsesToBeProcessed开始:Wed May 22 13:24:34 IST 2019 Filebeat配置:Logstash ELK |日志文件grok过滤格式未推入弹性搜索,logstash,elastic-stack,logstash-grok,logstash-configuration,filebeat,Logstash,Elastic Stack,Logstash Grok,Logstash Configuration,Filebeat,我有以下格式的日志文件要提取到弹性搜索中,但日志存储过滤的数据并没有推到弹性搜索中 同样的grok过滤配置,我可以从kibana开发工具获得它 示例日志文件: OCDE-2019-05-22 13:24:34.000错误org.ramyam.OCDE.task.NBALookupTask.checkResponsesToBeProcessed-checkResponsesToBeProcessed开始:Wed May 22 13:24:34 IST 2019 Filebeat配置: input
input {
file {
type => "ocde"
path => "C:\data\logs\OCDE.log"
}
beats {
port => 5044
ssl => false
}
}
filter {
grok {
match => [ "message" ,'%{DATA:moduleName} - %{TIMESTAMP_ISO8601:loggerTime}\s+%{LOGLEVEL:level}\s+%{JAVACLASS:className}\.%{DATA:methodName} - %{GREEDYDATA:loggermsg}}']
}
}
output {
if [type]=="ocde"
{
elasticsearch
{
hosts => ["localhost:9200"]
#manage_template => false
index => "enliven_be_log_yyyymmdd"
document_type=> ocde
}
}
}
filebeat.inputs:
-类型:原木
已启用:true
路径:
-C:\data\logs\OCDE.log
文件类型:ocde
日志存储配置:
input {
file {
type => "ocde"
path => "C:\data\logs\OCDE.log"
}
beats {
port => 5044
ssl => false
}
}
filter {
grok {
match => [ "message" ,'%{DATA:moduleName} - %{TIMESTAMP_ISO8601:loggerTime}\s+%{LOGLEVEL:level}\s+%{JAVACLASS:className}\.%{DATA:methodName} - %{GREEDYDATA:loggermsg}}']
}
}
output {
if [type]=="ocde"
{
elasticsearch
{
hosts => ["localhost:9200"]
#manage_template => false
index => "enliven_be_log_yyyymmdd"
document_type=> ocde
}
}
}
我期待下面的结果从上面的弹性搜索配置
{
"level": "ERROR",
"loggerTime": "2019-05-22 13:24:34.000",
"moduleName": "OCDE",
"methodName": "checkResponsesToBeProcessed",
"className": "org.ramyam.ocde.task.NBALookupTask",
"loggermsg": "checkResponsesToBeProcessed started : Wed May 22 13:24:34 IST 2019"
}
任何人都可以解释或分享我缺少的示例配置吗您可以在grok模式下尝试-
%{DATA:moduleName}%{SPACE}*-%{SPACE}*%{TIMESTAMP_ISO8601:loggerTime}%{SPACE}*%{LOGLEVEL:level}%{SPACE}*%{JAVACLASS:className}\.%{DATA:methodName}%{SPACE}*-%{SPACE}*%{GREEDYDATA:loggermsg}
你可以试试下面的格洛克模式-
%{DATA:moduleName}%{SPACE}*-%{SPACE}*%{TIMESTAMP_ISO8601:loggerTime}%{SPACE}*%{LOGLEVEL:level}%{SPACE}*%{JAVACLASS:className}\.%{DATA:methodName}%{SPACE}*-%{SPACE}*%{GREEDYDATA:loggermsg}
将您的工作更改为:
%{DATA:moduleName} - %{TIMESTAMP_ISO8601:loggerTime}\s+%{LOGLEVEL:level}\s+%{JAVACLASS:className}\.%{DATA:methodName} - %{GREEDYDATA:loggermsg}}
致:
要对此进行验证,请使用您提供的日志消息并将其粘贴到“
您的图案效果很好,您只需在末端多加一个括号。将您的图案更改为:
%{DATA:moduleName} - %{TIMESTAMP_ISO8601:loggerTime}\s+%{LOGLEVEL:level}\s+%{JAVACLASS:className}\.%{DATA:methodName} - %{GREEDYDATA:loggermsg}}
致:
要对此进行验证,请使用您提供的日志消息并将其粘贴到“
你的图案很好,你只是在末端多了一个括号