如何将 Serilog 与 Amazons OpenSearch 一起使用?

How to use Serilog with Amazons OpenSearch?

我们可以将 Serilog 与 Amazons OpenSearch 一起使用吗?

我已经使用 ElasticSearch Sink 进行了尝试:

var log = new LoggerConfiguration()
                  .WriteTo.Console()
                  .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("http://url:9200"))
                  {
                      AutoRegisterTemplate = true,
                      FailureCallback = FailureCallback,
                      EmitEventFailure = EmitEventFailureHandling.RaiseCallback | EmitEventFailureHandling.ThrowException
                  })
                  .CreateLogger();

        log.Information("Hello, Serilog!");

        Log.CloseAndFlush();

这似乎不起作用。 FailureCallback 上的异常为空,所以我什至没有收到真正的错误消息。

已尝试 Serilog.Sinks.Elasticsearch 使用完全相同的配置,它适用于我。

您是否在 opensearch 日志中收到错误? 您为接收器使用的最低日志级别是多少?您的日志转到信息,但我相信 serilog 的默认设置是警告

我看到您正在尝试使用 HTTP 协议进行连接,因此我假设您正在尝试 运行 对本地环境进行一些测试,但是您是否禁用了 OpenSearch 安全插件(它需要您使用 SSL 并授权自己)? 如果不是,你必须先这样做:https://opensearch.org/docs/latest/security-plugin/configuration/disable/

请记住,禁用安全性绝对不能用于生产环境。