SQLデータベースからESに数百万のレコードを移行する必要があります。現在、私たちはGELF HTTP経由でESにレコードを挿入しますが、一度に1レコードしか実行できません。GrayLogでバルクが挿入されているメッセージが表示されない
私はこの2日間で作業しており、GrayLogとElasticSearchの両方に新しいものです。私はメッセージを一括してESに挿入し、それらをGrayLogに表示させる方法を見つけようとしています。私はCerebroを使って、それぞれのインデックスとメッセージ数を監視してきました。一括挿入を実行すると、正しいインデックスでメッセージ数が増えますが、GrayLogでは表示されません。
var _elasticsearchContext = new ElasticsearchContext(ConnectionString, new ElasticsearchMappingResolver());
var connectionSettings = new ConnectionSettings(new Uri(ConnectionString))
.MapDefaultTypeIndices(m => m.Add(typeof(Auditing_Dev), "auditing-dev_0"));
var elasticClient = new ElasticClient(connectionSettings);
var items = new List<Auditing_Dev>();
//I loop through a DataReader creating new Auditing_Dev objects
//and add them to the items collection
var bulkResponse = elasticClient.Bulk(b => b.IndexMany(items, (d, doc) => d.Document(doc).Index("auditing-dev_0").Type("message")));
私は戻って有効な応答を取得し、私は、監査-dev_0指数の脳内の文書数の増加を参照してください。ここで
は私が持っているものです。バルクで挿入したメッセージとHTTPリクエストで挿入したメッセージを比較すると、インデックスとタイプは同じです。私は挿入メッセージ:HTTP経由で挿入されたものに比べ
{
"_index" : "auditing-dev_0",
"_type" : "message",
"_id" : "AVsWWn-jNp2NX1vOria1",
"_version" : 1,
"found" : true,
"_source" : {
"level" : 5,
"origin" : "10.80.3.2",
"success" : true,
"type" : "AppRiver.Enterprise",
"user" : "[email protected]",
"gl2_source_input" : "57193c1d0cf25a44afc31c15",
"gl2_source_node" : "5866cc80-382e-4287-ae5b-8a0a68a9a1f1",
"gl2_remote_ip" : "10.100.20.164",
"gl2_remote_port" : 52273,
"streams" : [ "578fbabe738a897c6d91336b" ]
}
}
:
{
"_index" : "auditing-dev_0",
"_type" : "message",
"_id" : "e3d34d50-0a8a-11e7-84bb-00155d007a32",
"_version" : 1,
"found" : true,
"_source" : {
"level" : 5,
"gl2_remote_ip" : "192.168.211.114",
"origin" : "192.168.211.35",
"gl2_remote_port" : 2960,
"streams" : [ "578fbabe738a897c6d91336b" ],
"gl2_source_input" : "57193c1d0cf25a44afc31c15",
"success" : "True",
"gl2_source_node" : "5866cc80-382e-4287-ae5b-8a0a68a9a1f1",
"user" : "[email protected]",
"timestamp" : "2017-03-16 22:43:44.000"
}
}
私は_idが異なるフォーマットであることがわかりますが、そのことをしますか?
GrayLogには、入力が1つしかなく、これはGELF HTTP用です。新しい入力を追加する必要はありますか?