[英]Serilog + ElasticSearch Sink Connection Issues (.net core)
我已经将Serilog写入滚动文件,然后开始实现与基于Docker的ElasticSearch实例的连接。 但是,我遇到了连接问题。
首先,我的应用程序在本地运行,并且有两点要注意:
但是,当我查看Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
,我发现Elastic存在某种连接问题:
在对Elasticsearch执行批量操作时捕获到异常:Elasticsearch.Net.ElasticsearchClientException:重试请求时达到最大超时
我的appsettings.json(是的,我通过json进行配置,而不是代码):
"Serilog": {
"Using": ["Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Sinks.ElasticSearch"],
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
},
"Enrich": ["FromLogContext", "WithExceptionDetails"],
"WriteTo": [
{ "Name": "Console" },
{ "Name": "Debug" },
{
"Name": "File",
"Args": {
"path": "%LogDir%\\someserverpath.xyz.com\\log-.txt",
"rollingInterval": "Day",
"shared": true
}
},
{
"Name": "Elasticsearch",
"Args": {
"nodeUris": "http://sxdockertst1:9200",
"indexFormat": "imaging4cast-index-{0:yyyy.MM}",
"emitEventFailure": "WriteToSelfLog",
"autoRegisterTemplate": true
}
}
],
"Properties": {
"Application": "xyz.yyy.Imaging4CastApi"
}
},
我觉得它正在建立起基本的联系,因为否则,将如何创建索引? 弹性服务器上也没有身份验证。 但是实际上推送日志消息似乎不起作用...
我不知所措...
好的,我知道了。
它不发布消息的原因是因为硬盘驱动器(从技术上讲,docker主机上的var
)已满。 我必须清理var
约15GB的日志和消息。
然后,我需要运行以下命令以使Elastic退出只读模式(我很快遇到了一个问题,即我无法在Kibana中为仪表板创建索引,这是因为Elastic进入了RO模式):
curl -XPUT -H "Content-Type: application/json" http://sxdockertst1:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.