弹性云未从 Serilog 接收器接收数据

Elastic-Cloud Not Receiving Data from Serilog Sink

我设置了一个 Elastic Cloud 来卸载我的本地 elasticsearch 配置(正如我所做的那样),但由于我不知道的原因,我无法让它在 Elastic Cloud 中显示任何日志,尽管它在本地运行良好。

我得到的代码:(出于隐私原因修改)

//var uri = new Uri("http://localhost:9200"); // old one
var uri = new Uri("https://my-server.kb.eastus2.azure.elastic-cloud.com:9243");
var sinkOptions = new ElasticsearchSinkOptions(uri)
{
    AutoRegisterTemplate = true,
    ModifyConnectionSettings = x => x.BasicAuthentication("elastic", "the password I was given"),
    IndexFormat = $"test-logs-{env.EnvironmentName?.ToLower().Replace('.', '-')}-{DateTime.Now:yyyy-MM}",
};

Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(config)
    .Enrich.FromLogContext()
    .Enrich.WithMachineName()
    .WriteTo.Console()
    .WriteTo.Elasticsearch(sinkOptions)
    .Enrich.WithProperty("Environment", env.EnvironmentName)
    .CreateLogger();

我能想到有两个可能的原因可能是这不起作用的原因:

  1. 凭据错误
  2. Uri 错误

到目前为止我得到的每个解决方案都以这种方式提供了数据,但没有任何地方说明我应该使用的 URI 是什么样子。

我没有收到任何错误。

我没有收到任何警告。

我没有得到任何日志。

我做错了什么?

问题是使用了不正确的 uri。我写了

my-server.kb.eastus2.azure.elastic-cloud.com:9243 而不是
my-server.es.eastus2.azure.elastic-cloud.com:9243.

请注意 url

kbes 的微小差异