使用logstash分析日志行

z3yyvxxp  于 9个月前  发布在  Logstash
关注(0)|答案(1)|浏览(93)

嗨,我想实现els堆栈以更好地查看日志,所以我将logstash添加到已经存在的ealsticsearch和kibana中,日志是由使用serilog的.net应用程序生成的文件形式(我知道我可以使用serilog sink将其直接添加到elasticsearch)。
所以我有一个像这样的logstash配置:

input 
{
    file 
    {
        mode => "tail"
        path => "/usr/share/logstash/ingest_data/*"
    }
}

filter {
}

output 
{
    elasticsearch 
    {
        index => "logstash-%{+YYYY.MM.dd}"
        hosts=> "${ELASTIC_HOSTS}"
        user=> "${ELASTIC_USER}"
        password=> "${ELASTIC_PASSWORD}"
        cacert=> "certs/ca/ca.crt"
    }
}

但我有一个简单的日志行:
2023-08-17 10:10:47.253 +02:00 [警告] [应用程序]记录的消息
现在我在数据视图中看到他看到时间戳源和其他一些默认标记,但是是否有可能定义过滤器,以这种方式添加信息lvl(如[Warning])和源(如[Application])?

oknwwptz

oknwwptz1#

可以使用Grok filter。您可以找到已经定义的模式here

2023-08-17 10:10:47.253 +02:00 [Warning] [Application] Logged message

可以解析为

%{DATESTAMP:time} %{ISO8601_TIMEZONE:timezone} [%{WORD:level}] [%{WORD:source}] %{GREEDYDATA:logMessage}

其中语法是%{PATTERN_NAME:fieldName}

相关问题