【问题标题】:How do I set up Splunk to receive logging from Serilog/.Net?如何设置 Splunk 以接收来自 Serilog/.Net 的日志记录?
【发布时间】:2017-11-02 08:43:04
【问题描述】:

我尝试编写一个通过 serilog logger 记录到 splunk 的 c# 程序。

我尝试设置 splunk 来监听日志记录。

全部在我的本地机器上运行。

我的猜测是我没有正确配置 Splunk。

            Log.Logger = new LoggerConfiguration()
            .WriteTo
            .SplunkViaTcp(
                new Serilog.Sinks.Splunk.SplunkTcpSinkConnectionInfo("127.0.0.1", 19000)
                )
            .CreateLogger();

        while (true)
        {
            Log.Logger.Debug("Hello world");
            Thread.Sleep(1000);
        }

Splunk 设置(Splunk 可以很好地监控和显示 Windows 事件): 数据输入,添加 'TCP', 'set source type'=manual, 'source type'=log4net_xml

我尝试了“源类型”的变体,但没有成功。

有什么建议吗? 谢谢,安德斯

【问题讨论】:

  • 这是什么类型的程序? ASP.NET 核心?控制台?
  • 以上 poc 来自用 .net 框架 4.6.1 编写的控制台应用程序

标签: splunk serilog


【解决方案1】:

您是否尝试过设置日志记录的最低级别?您编写了 Debug 消息,但如果未指定,则最低级别默认为 Information (see Docs)。以下是否有效?

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo
    .SplunkViaTcp(
        new Serilog.Sinks.Splunk.SplunkTcpSinkConnectionInfo("127.0.0.1", 19000)
    )
    .CreateLogger();

【讨论】:

  • 我曾尝试在错误级别记录以防止出现该问题,但在您的帖子之后,我也尝试了您的建议。两者都没有在 splunk 中产生任何东西。
  • 您也可以通过添加控制台记录器来测试问题是否出在 Splunk 端。如果没有消息到达您的控制台,那么问题可能出在其他地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多