Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何在Kibana中写入给定的索引模式?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logging_Logstash_Kibana - Fatal编程技术网 elasticsearch 如何在Kibana中写入给定的索引模式?,elasticsearch,logging,logstash,kibana,elasticsearch,Logging,Logstash,Kibana" /> elasticsearch 如何在Kibana中写入给定的索引模式?,elasticsearch,logging,logstash,kibana,elasticsearch,Logging,Logstash,Kibana" />

elasticsearch 如何在Kibana中写入给定的索引模式?

elasticsearch 如何在Kibana中写入给定的索引模式?,elasticsearch,logging,logstash,kibana,elasticsearch,Logging,Logstash,Kibana,我为Elasticsearch、Kibana和Logstash建立了一个dotnet核心项目。现在我只是向日志中吐出随机数据,但问题是,当我运行应用程序时,它会自动运行在Kibana“Discover section”中“_index”下的相同索引模式上 问题是——在我的代码中如何定义我想要连接到的索引模式?我想它是在Program.cs内main内的,但我不确定如何 我希望能够在应用程序代码中决定自己,如果有意义的话,我希望登录到哪个索引模式 目前正在使用serilog接收器。是朝着那个方向,

我为Elasticsearch、Kibana和Logstash建立了一个dotnet核心项目。现在我只是向日志中吐出随机数据,但问题是,当我运行应用程序时,它会自动运行在Kibana“Discover section”中“_index”下的相同索引模式上

问题是——在我的代码中如何定义我想要连接到的索引模式?我想它是在Program.cs内main内的,但我不确定如何

我希望能够在应用程序代码中决定自己,如果有意义的话,我希望登录到哪个索引模式

目前正在使用serilog接收器。是朝着那个方向,我应该修复它,还是我朝着错误的方向看

更新(尝试从mike b给出的链接实现代码)

var连接设置=
新连接设置()
.DefaultIndex(“DefaultIndex”)
.DefaultMappingFor(m=>m.IndexName(“mycustomindex”);
var elasticClient=新的elasticClient(连接设置);
var searchResponse=elasticClient.Search();
此外,我还在kibana内部创建了一个索引,当我输入“GET_cat/index”时,该索引将显示,但当运行项目并看到kibana接收到日志时,我仍然看到它们在相同的旧索引(“httplog”)下注册,如下面的代码段所示:

我该如何改变这一点?或者我做错了什么


PS:我可以在“Discover/”下拉菜单中看到创建的索引,但是对于日志来说它是空的。相反,我的httplog索引充满了日志…

如果您使用的是.NET Elasticsearch客户端,它将推断出它认为您需要的索引名称。您可以覆盖该行为或为特定索引操作指定索引名称


请参阅:

谢谢!看起来我确实需要朝这个方向走,但在尝试时,我仍然在_索引下得到“httplog-%{hostname}-2019.09.03”。。。即使尝试链接中指定的所有选项。。。事实上,我在日志中的任何地方都找不到我的更改。我想我们需要查看更多代码。更新中包含的代码片段为搜索请求设置了客户端,但是将日志发布到Elasticsearch的实际代码是什么样子的?应该有一个对
.Index()
.IndexMany()
的调用,那我就糊涂了。我已经尝试了链接中提供的所有选项,您提供了这些选项,但都不起作用。你是说我在做一个搜索请求-这就是问题所在吗?我的日志确实显示在kibana上,现在我只希望它们以正确的方式被索引。所以基本上,除了将它们放在自定义索引中之外,其他所有东西都可以工作。我怀疑——从你写的内容来看——我看得不对,可能应该看.conf文件,其中定义了输入、筛选和输出?是的,如果logstash是将日志发送到Elasticsearch而不是你的应用程序中的东西,然后,需要在logstash配置中指定所需的索引名。见文件:
            var connectionSettings =
            new ConnectionSettings()
                .DefaultIndex("defaultindex")
                .DefaultMappingFor<Project>(m => m.IndexName("mycustomindex"));
        var elasticClient = new ElasticClient(connectionSettings);
        var searchResponse = elasticClient.Search<Project>();