I'm using the serilog in my ASP.NET Core app to log data to Elasticsearch. My code was working fine when the xpack.security was disabled. I enabled the security and defined passwords for default users (elastic, apm_system, kibana, logstash_system, beats_system, remote_monitoring_user). I logged into elastic and kibana without any problem. But when I run my application, it doesn't log data in elasticsearch.
Serilog configuration is like this:
private Action<AbpBootstrapperOptions> ConfigSerilog()
{
var configuration = new ConfigurationBuilder()
.AddJsonFile($"serilog.json")
.Build();
var config = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger();
return options => options.IocManager.IocContainer.AddFacility<LoggingFacility>(f => f.LogUsing(new SerilogFactory(config)));
}
and my serilog.json file is like this:
"WriteTo": [
{ "Name": "Console" },
{
"Name": "Elasticsearch",
"Args": {
"nodeUris": "http://serilog:mypasswordhere@localhost:9200",
"indexFormat": "logstash-{0:yyyy.MM.dd}",
//some other configs
}
]
I guess the problem is with "serilog" user, and I have to define a new user. But I'm not sure about it and I don't know what roles to assign to this new user.
I also tried to get a list of current users and their roles, but it had no result:
elasticsearch-users list No users found
I think it just shows user-defined users, but not sure about it either.