#elasticsearch #asp.net-web-api #kibana #nest #apm
Вопрос:
У меня есть asp.net основное приложение веб-приложения, которое будет записывать журналы с помощью serilog в elasticsearch, а также может считывать журналы из elasticsearch с помощью NEST. Я также настроил его так, чтобы я мог использовать APM для своего приложения. Если бы я хотел получить транзакции, которые находятся в APM, с помощью NEST, или транзакции на определенную дату, возможно ли это? Любые советы/учебники/документация по этому вопросу были бы великолепны!
Ответ №1:
Вы захотите настроить таргетинг apm-*-transaction
на псевдонимы
В инструментах разработки Kibana
GET apm-*-transaction/_search
{
"query": {
"range": {
"@timestamp": {
"gte": "2021-06-04T00:00:00Z",
"lte": "2021-06-05T00:00:00Z"
}
}
}
}
В NEST (измените dynamic
тип документа на свой)
var client = new ElasticClient();
var searchResponse = client.Search<dynamic>(s => s
.Index("apm-*-transaction")
.Query(q => q
.DateRange(dr => dr
.Field("@timestamp")
.GreaterThanOrEquals("2021-06-04T00:00:00Z")
.LessThanOrEquals("2021-06-05T00:00:00Z")
)
)
);
Комментарии:
1. Спасибо! Я ценю ваши объяснения и помощь!