繁体   English   中英

Serilog + ElasticSearch接收器连接问题(.net核心)

[英]Serilog + ElasticSearch Sink Connection Issues (.net core)

我已经将Serilog写入滚动文件,然后开始实现与基于Docker的ElasticSearch实例的连接。 但是,我遇到了连接问题。

首先,我的应用程序在本地运行,并且有两点要注意:

  • 我可以从我的机器上访问Elastic服务 弹性服务器
  • Kibana显示我的服务使用我指定的名称创建了一个索引 Kibana仪表板

但是,当我查看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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM