查询您的数据编辑

查询您的 APM 数据是必不可少的工具,它可以使查找代码中的瓶颈更加直接。

使用查询栏,这是一个强大的数据查询功能,您可以对数据进行高级查询,以筛选您感兴趣的特定信息。

查询栏配有一个方便的自动完成功能,可以帮助您找到字段,甚至提供包含数据的建议。您可以选择查询栏并按键盘上的向下箭头键开始扫描推荐内容。

在 APM 应用程序中查询编辑

在 APM 应用程序中查询时,您只是在 Elasticsearch 文档中的字段中搜索和选择数据。输入查询栏的查询也会作为参数添加到 URL 中,因此可以轻松地与他人共享特定查询或视图。

当您键入时,您会看到一些可用于过滤的交易字段。

Example of the Kibana Query bar in APM app in Kibana

要详细了解 Kibana 查询语言功能,请参阅 Kibana 查询语言增强功能 文档。

APM 应用程序查询编辑

APM 查询对于从 服务交易错误指标跟踪 视图中的数据中消除噪音非常有用。

例如,在 服务 视图中,您可以快速查看生产环境中运行的所有已检测服务的列表:service.environment : production。或者通过包含 APM 代理的名称和它运行的主机来过滤列表:service.environment : "production" and agent.name : "java" and host.name : "prod-server1"

跟踪 视图中,您可能希望查看运行的任何容器的失败交易结果:transaction.result :"FAILURE" and container.id : *

交易 视图中,您可能希望仅列出比指定时间阈值慢的交易:transaction.duration.us > 2000000。或者通过包含服务版本和它运行的 Kubernetes Pod 来过滤列表:transaction.duration.us > 2000000 and service.version : "7.12.0" and kubernetes.pod.name : "pod-5468b47f57-pqk2m"

在 Discover 中查询编辑

或者,您可以在 Discover 中查询您的 APM 文档。在 Discover 中查询文档的方式与在 APM 应用程序中查询的方式相同,并且 Discover 支持此页面上显示的所有示例 APM 应用程序查询。

Discover 查询编辑

您可能希望使用 Discover 的一个示例是查看某个端点的所有交易,而不仅仅是样本。

从 v7.6 开始,您可以在 APM 应用程序中查看每个桶的十个样本,而不仅仅是一个样本。

使用 APM 应用程序查找您有兴趣了解更多信息的交易名称和时间桶。然后,切换到 Discover 并进行搜索

processor.event: "transaction" AND transaction.name: "<TRANSACTION_NAME_HERE>" and transaction.duration.us > 13000 and transaction.duration.us < 14000`

在此示例中,我们有兴趣查看所有在 13 到 14 毫秒之间进行的 APIRestController#customers 交易。以下是 Discover 返回的内容

View all transactions in bucket

您现在可以探索数据,直到找到您感兴趣的特定交易。复制该交易的 transaction.id 并将其粘贴到 APM 应用程序中,以在 APM 应用程序的上下文中查看数据

View specific transaction in apm app
View specific transaction in apm app