2

アプリケーションの Elmah XML ファイル エラーのインデックスを作成するために、elasticsearch (バージョン 1.7.3) と Kibana (バージョン 4.1.2) をセットアップしました。.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 は稼働中であり、 http://localhost:9200/eol/_search?q=のように Elasticsearch で直接クエリを実行する API に応答します* 多くの結果を返します

ここに画像の説明を入力

Kibana は稼働中であり、Elasticsearch によって公開された "eol" インデックスも検出されます Kibana は "eol" ドキュメントの正しいプロパティとデータ型も表示します "Discover" タブには結果が表示されません...期間を設定しても数年... [設定]タブからインデックスを削除し、Kibanaを再起動してから、[設定]でインデックスを再度追加しようとしました。また、日付フィールドを yyyy-MM-ddThh:mm:ss 形式で保存しようとしましたが、まだ結果が表示されません。問題は、Elmah UTC 日付形式 (例は 2015-10-13T19:54:49.4547709Z) または Elmah メッセージのいずれかにあると思います。ElasticSearch は Elmah メッセージが好きだと思いますが、Kibana は好きではありません。

何か案は??

Kibana が「eol」インデックスを認識する方法は次のとおりです。 ここに画像の説明を入力

..そして、発見タブに表示されるもの: ここに画像の説明を入力 ここに画像の説明を入力

4

2 に答える 2

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);    
            }
        }
于 2015-10-16T16:36:36.600 に答える
0

"\" がありますが、通常elasticsearchの結果にはありません.JSONは適切ではないため結果を解析できません.

于 2016-08-10T12:53:58.043 に答える