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

时间:2019-04-25 05:29:47

标签: elasticsearch kibana serilog

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

2 个答案:

答案 0 :(得分:1)

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

通过这种方式,您可以根据应用程序进行过滤。还可以根据需要使用其他选项。

答案 1 :(得分:0)

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

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

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

然后我可以按字段,应用程序或字段,环境过滤Kibana中的对象,以查看不同的应用程序日志。

相关问题