使用 NEST 从 APM 检索交易

Retrieve transactions from APM using NEST

我有一个 asp.net 核心网络应用程序,它将使用 serilog 将日志写入 elasticsearch,也可以使用 NEST 从 elasticsearch 读取日志。我还设置了它,我可以在我的应用程序中使用 APM。 如果我想使用 NEST 检索 APM 中的交易或特定日期的交易,这可能吗?任何 advice/tutorial/documentation 都很棒!

您需要定位 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")
        )
    )
);