【发布时间】:2020-01-03 13:56:06
【问题描述】:
我为 Elasticsearch、Kibana 和 Logstash 设置了一个 dotnet 核心项目。现在我只是将随机数据吐到日志中,但问题是,当我运行应用程序时,它会自动在 Kibana 的“发现部分”中的“_index”下以相同的索引模式运行。
问题是 - 在我的代码中 - 我如何定义要连接的索引模式?我认为它在 main 中的 Program.cs 中,但我不确定如何。
如果有意义的话,我希望能够在应用程序代码中决定自己要登录到哪个索引模式。
目前正在使用 serilog 接收器。是在那个方向上,我应该修复它还是我看错了方向?
更新(尝试从 mike b 给出的链接实现代码)
var connectionSettings =
new ConnectionSettings()
.DefaultIndex("defaultindex")
.DefaultMappingFor<Project>(m => m.IndexName("mycustomindex"));
var elasticClient = new ElasticClient(connectionSettings);
var searchResponse = elasticClient.Search<Project>();
我还在 kibana 中创建了一个索引,当我输入“GET _cat/indices”时,它会显示,但是在运行项目并看到 kibana 接收到日志时,我仍然看到它们注册在同一个旧的index ("httplog") 如下面的 sn-p 所示:
我该如何改变 - 或者我做错了什么?
PS:我可以在“发现”/下拉菜单中看到创建的索引,但它对于日志是空的。相反,我的 httplog-index 充满了日志...
【问题讨论】:
标签: elasticsearch logging logstash kibana