У нас есть установка elasticsearch с kibana, и мне было интересно, могу ли я написать запрос с помощью NEST для отображения файлов журнала .Net-программой?Запросить существующий указатель из поиска elasticsearch с помощью NEST
Я пробовал создать простой класс POCO LogMessage для извлечения сообщений, но безуспешно.
[ElasticsearchType(IdProperty = "Id")]
public class LogMessage
{
public Guid? Id { get; set; }
public Source Source { get; set; }
}
public class Source
{
public String Message { get; set; }
}
Поисковый код очень прост.
var local = new Uri("http://servername:9200");
var settings = new ConnectionSettings(local);
var elastic = new ElasticClient(settings);
var request = new SearchRequest
{
From = 0,
Size = 10,
};
var r = elastic.Search<LogMessage>(request);
- Что должен мой класс LogMessage выглядеть?
Событие в кибане выглядит следующим образом. Мы используем serilog для регистрации сообщений elasticsearch сервера
{
"_index": "oxyb-01-2016.08",
"_type": "logevent",
"_id": "AVbfrnje902hsaMqv0p2",
"_score": 1,
"_source": {
"@timestamp": "2016-08-31T18:19:26.9228089+10:00",
"level": "Debug",
"messageTemplate": "Simple message",
"message": "Simple message",
"fields": {
"Session": "AP2016831/08/2016 6:10:19 PM",
"TX": "TX123-001 None",
"ExecutionTime": 523792,
"MethodTime": 109,
"TransactionId": "6058862c-3f45-4956-8992-eb34eba0fa9b",
"Workorder": "WoAP70906YY0831031604526",
},
"renderings": {
"0": [
{
"Format": "0.00",
"Rendering": "0.00"
}
]
}
},
"fields": {
"@timestamp": [
1472631566922
]
}
}