Эластичное облако Не получает данные из приемника Serilog

#elasticsearch #.net-core #serilog #serilog-sinks-elasticsearch

Вопрос:

Я настроил эластичное облако для выгрузки моей локальной конфигурации elasticsearch (как это делается), но по неизвестным мне причинам я не могу заставить его показывать какие-либо журналы в эластичном облаке, несмотря на то, что он отлично работает локально.

Код, который я получил: (изменен по соображениям конфиденциальности)

 //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 =gt; 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, который я должен использовать.

Я не получаю никаких ошибок.

Я не получаю никаких предупреждений.

Я не получаю никаких журналов.

Что я здесь делаю не так?

Ответ №1:

Проблема заключалась в использовании неправильного uri. Я написал

my-server.kb.eastus2.azure.elastic-cloud.com:9243 скорее, чем
my-server.es.eastus2.azure.elastic-cloud.com:9243 .

Обратите внимание на очень незначительную разницу, которая kb es указана в URL-адресе