I'm trying to use official ECS Serilog Sink on a newly cloud instance of Elastic Search.
Here's the payload I'm using
I'm trying to use Elasticsearch in place of Logz.Io.. I've my Elasticsearch instance running on Azure and I'm trying to run this integration test.
[Fact]
public void WriteLog_WritesMessageToSerilog()
{
// Arrange
var nodes = new[] { new Uri("url") };
var message = "Test message";
// We'll use a StringWriter to capture the output of the logger
var logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Elasticsearch(nodes, opts =>
{
opts.AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7;
opts.ChannelDiagnosticsCallback = diagnosticCallBack;
opts.BootstrapMethod = BootstrapMethod.Failure;
opts.DataStream = new DataStreamName("logs", "console-example") ;
opts.ConfigureChannel = channelOpts =>
{
channelOpts.BufferOptions = new BufferOptions { ExportMaxConcurrency = 10 };
};
}, transport =>
{
})
.CreateLogger();
// Act
logger.Information(message);
// Assert
}
When I run it I got the following error in the callback:
Failed publish over channel: EcsDataStreamChannel`1.
Exported Buffers: 0
Exported Items: 0
Export Responses: 0
Export Retries: 0
Export Exhausts: 0
Export Returned Items to retry: False
Inbound Buffer Read Loop Started: False
Inbound Buffer Publishes: 0
Inbound Buffer Publish Failures: 0
Outbound Buffer Read Loop Started: False
Outbound Buffer Read Loop Exited: False
Outbound Buffer Publishes: 0
Outbound Buffer Publish Failures: 0
Exception: None
I'm using the official Elasticsearch search Serilog nuget Elastic.Serilog.Sinks 8.11.1
Any suggestion to start looking at this error?