我应该如何过滤使用Serilog.Sink.Elasticsearch创建的日志信息?

问题描述 投票:1回答:2

我正在使用Serilog Elasticsearch Sink将日志记录信息发送到Elastic Cloud实例。我的部署有4个独立的应用程序,都发送日志信息。我希望能够根据创建它们的应用程序轻松过滤Kibana中的日志消息。实现这一目标的最佳方法是什么?

elasticsearch kibana serilog
2个回答
1
投票

以下是可能有用的步骤: - 1.登录Kibana。 2.在顶部你可以找到“添加过滤器+”选项。点击它。 3.选择“过滤器”选项作为“源名称”4.选择“操作员”为“是”(根据您的要求从下拉列表中)5。在“值”字段中输入您的应用程序名称并保存。

这样您就可以根据您的应用程序进行过滤。还有其他选项可供您根据您的要求使用。


0
投票

我找到了解决问题的方法。核心问题是Serilog接收器的配置没有提供允许我在Elastic中过滤的任何上下文。我能够使用Serilog内置的enrichment properties添加字段。

在我的情况下,我设置了通过json配置文件的日志记录,因此我能够将以下内容添加到appsettings.json中的Serilog配置:

"Serilog": {
    "Enrich": [ "FromLogContext" ],
    "Properties": {
        "ApplicationName": "application-name",
        "Environment" : "development"
    }

然后我可以通过fields.Application或fields.Environment过滤Kibana中的对象,以查看不同的应用程序日志。

© www.soinside.com 2019 - 2024. All rights reserved.