我想使用serilog登录elasticsearch。
我已将 Elastic.Serilog.Sinks 包添加到我的应用程序中。 但是在配置serilog elasticsearch配置时无法传递用户名和密码。
我的假设是,在使用elasticsearch接收器配置serilog时,我需要传递日志索引名称、url、用户名、密码。
https://www.elastic.co/guide/en/ecs-logging/dotnet/current/serilog-data-shipper.html
上面的 url 有使用 url 配置的示例。另外,没有索引名称。
日志索引名称和数据流名称是否相同?
配置serilog elasticsearch配置时如何传递用户名和密码?
您可以安装
Elastic.Clients.Elasticsearch
并尝试这个
var settings = new ElasticsearchClientSettings(new Uri("https://10.96.5.5:9200"))
.CertificateFingerprint("xxx")
.Authentication(new BasicAuthentication("elastic", "xxx"));
var esClient = new ElasticsearchClient(settings);
var esOptions = new ElasticsearchSinkOptions(esClient.Transport)
{
BootstrapMethod = BootstrapMethod.Failure,
};
Log.Logger = new LoggerConfiguration()
.WriteTo.Elasticsearch(esOptions)
.CreateLogger();
或者这个:
Log.Logger = new LoggerConfiguration()
.WriteTo.Elasticsearch([new Uri("https://10.96.5.5:9200")], opts =>
{
opts.BootstrapMethod = BootstrapMethod.Failure;
}, transport =>
{
transport.CertificateFingerprint("xxx");
transport.Authentication(new BasicAuthentication("elastic", "xxx"));
})
.CreateLogger();