Amazon OpenSearch Service 中的可观察性 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon OpenSearch Service 中的可观察性

适用于 Amazon OpenSearch Service 的 OpenSearch 控制面板的原定设置安装包含了可观察性插件。借助该插件,您可以使用管道式处理语言(PPL)将数据驱动的事件可视化,以便探索、发现和查询 OpenSearch 中存储的数据。此插件需要 OpenSearch 1.2 或更高版本。

可观察性插件为采集和监控来自常见数据源的指标、日志和跟踪信息提供了统一的体验。在一个位置集中采集和监控数据,可实现整个基础设施的全栈端到端可观察性。有关可观察性插件的完整文档,请参阅 OpenSearch 文档

每个人探索数据的过程都是不同的。如果您刚接触数据探索和可视化的创建,则建议您尝试如下所示的工作流:

使用事件分析来探索数据

例如,假设您正在 OpenSearch Service 域中收集航班数据,并且想了解哪家航空公司上个月抵达匹兹堡国际机场的航班最多。您会编写下面的 PPL 查询:

source=opensearch_dashboards_sample_data_flights | stats count() by Dest, Carrier | where Dest = "Pittsburgh International Airport"

此查询将从名为 opensearch_dashboards_sample_data_flights 的索引中提取数据。然后使用 stats 命令获取总航班数据,并根据目的地机场和航空公司进行分组。最后,它使用 where 子句从结果中筛选出到达匹兹堡国际机场的航班。

下面是显示的上个月数据的样子:

您可以在查询编辑器中选择 PPL 按钮来获取每个 PPL 命令的用法信息和示例:

下面来看一个更复杂的例子,即查询有关航班延误的信息:

source=opensearch_dashboards_sample_data_flights | where FlightDelayMin > 0 | stats sum(FlightDelayMin) as minimum_delay, count() as total_delayed by Carrier, Dest | eval avg_delay=minimum_delay / total_delayed | sort - avg_delay

查询中的每个命令都会影响最终输出:

  • source=opensearch_dashboards_sample_data_flights – 从与上例相同的索引中提取数据

  • where FlightDelayMin > 0 – 从数据中筛选出发生延误的航班

  • stats sum(FlightDelayMin) as minimum_delay, count() as total_delayed by Carrier – 获取每家航空公司的总最短延误时间和延误航班总数

  • eval avg_delay=minimum_delay / total_delayed – 用最短延误时间除以延误航班总数,得出每家航空公司的平均延误时间

  • sort - avg_delay – 按平均延误时间降序对结果进行排序

通过此查询,您可以确定 OpenSearch Dashboards Airlines 的平均延误更少。

有关更多示例 PPL 查询,请参阅 Event analytics(事件分析)页面的 Queries and Visualizations(查询和可视化)。

创建可视化

正确查询到您感兴趣的数据后,可以将这些查询另存为可视化:

然后将这些可视化添加到操作面板来比较不同的数据片段。利用笔记本来组合可以与团队成员共享的各种可视化和代码段。

使用跟踪分析功能更深入探索

您可以利用跟踪分析功能将 OpenSearch 数据中的事件流可视化,从而识别和修复分布式应用程序中的性能问题。