Serilog Elasticsearch 日志未将其发送到服务器(但正确缓冲)

Her*_*r33 5 .net logging elasticsearch kibana serilog

我在 Windows IIS Web 服务器上本地托管了一个 ELK 堆栈 (v7.0),并且日志没有发送到服务器。服务器正在运行,我可以访问保留的 URL 并取回通用 json 包,说 Elasticsearch 正在运行,我可以很好地登录 Kibana,只是没有日志可以查看。

我在正在记录的应用程序中设置了一个 bufferBaseFilename,当我去那个位置时,日志实际上就在那里,正确索引等等。我想知道为什么它永远不会同步回服务器?这似乎是一个连接问题,但所有网络内容都检查出来了。我可能错过了一些简单的东西。有什么想法吗?如果您需要更多信息,请与我们联系!

Car*_*Dev 3

此错误的常见来源是与您的 ES 版本不匹配的格式错误(模板)请求(例如包含已弃用的字段)。你可以尝试

  • 使用nuget 包的预览版本
  • 设置DetectElasticsearchVersiontrue
  • 设置RegisterTemplateFailureIndexAnyway

您可以像这样配置接收器:

var loggerConfig = new LoggerConfiguration()
    .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(...) ){
        // ...
        DetectElasticsearchVersion = true,
        RegisterTemplateFailure = RegisterTemplateFailure.IndexAnyway
     });
Run Code Online (Sandbox Code Playgroud)