问题描述
我有一个 asp.net 核心 Web 应用程序应用程序,它将使用 serilog 将日志写入 elasticsearch,还可以使用 nesT 从 elasticsearch 读取日志。我还设置了它,我可以将 APM 用于我的应用程序。 如果我想使用 nesT 检索 APM 中的交易或特定日期的交易,这可能吗?任何有关此的建议/教程/文档都很棒!
解决方法
您需要定位 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")
)
)
);