Kibana在“发现”标签中没有显示任何结果

时间:2015-10-14 21:20:15

标签: elasticsearch kibana elmah nest elastic-stack

我已经设置了elasticsearch(版本1.7.3)和Kibana(版本4.1.2)来索引我们的应用程序的Elmah XML文件错误。我使用.Net来解析xml文件和Nest ElasticSearch客户端以将索引插入到ElasticSearch中。问题是Kibana没有在" Discover"中显示任何数据。标签

当我运行curl -XGET localhost:9200 / .kibana / index-pattern / eol?命令,我收到以下回复:

{"_index":".kibana","_type":"index-pattern","_id":"eol","_version":2,"found":tru
e,"_source":{"title":"eol","timeFieldName":"errorTime","fields":"[{\"name\":\"_i
ndex\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"an
alyzed\":false,\"doc_values\":false},{\"name\":\"filePath\",\"type\":\"string\",
\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\"
:false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\
"indexed\":true,\"analyzed\":false,\"doc_values\":false},{\"name\":\"message\",\
"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":
true,\"doc_values\":false},{\"name\":\"errorTime\",\"type\":\"date\",\"count\":0
,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":false},{\
"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"indexe
d\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_id\",\"type\":\"
string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"d
oc_values\":false}]"}}

现状 Elasticsearch启动并运行,响应直接在Elasticsearch上执行查询的API,如http://localhost:9200/eol/_search?q= *返回大量结果

enter image description here

Kibana已经开始运行,甚至找到了" eol" Elasticsearch公开的索引 Kibana还显示了" eol"的正确属性和数据类型。文件 "发现和#34;选项卡不会显示任何结果......即使将时间段设置为几年...... 我尝试从“设置”选项卡中删除索引,重新启动Kibana,然后在“设置”中重新添加索引。 我还试图用yyyy-MM-ddThh:mm:ss格式保存日期字段,但我仍然没有看到任何结果。 我认为问题在于Elmah UTC日期格式(例如2015-10-13T19:54:49.4547709Z)或Elmah消息。我猜ElasticSearch喜欢Elmah消息,但Kibana不喜欢。

任何想法??

以下是Kibana如何看待" eol"指数: enter image description here

..以及我在发现标签中看到的内容: enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

我使用Nest将数据插入ElasticSearch。似乎Nest正在序列化List并向ElasticSearch发出请求的方式具有Kibana不喜欢的特殊字符。

之前(不工作):

private static void WriteErrorsIntoElasticSearchIndex(ElasticClient elasticClient, List<error> errors)
        {
                elasticClient.Index(errors);    
        }

<强>后(工作):

private static void WriteErrorsIntoElasticSearchIndex(ElasticClient elasticClient, List<error> errors)
        {
            foreach (var error in errors)
            {
                elasticClient.Index(error);    
            }
        }

答案 1 :(得分:0)

你有“\”,通常在elasticsearch结果中没有,JSON无法解析结果,因为它不合适,