View a markdown version of this page

故障排除 OpenSearch 仪表板 - 亚马逊 OpenSearch 服务

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

故障排除 OpenSearch 仪表板

本节介绍可能导致 OpenSearch 仪表板不可用、无法加载或行为异常的已知问题。每个问题都包括您可以自行解决的操作。仪表板在您域中的热门数据节点上运行,并将其状态(索引模式、可视化和仪表板)存储在仪表板索引中 OpenSearch 。因此,大多数仪表板可用性问题可以追溯到集群运行状况、存储、 OpenSearch 仪表板索引迁移、集群或仪表板设置、资源限制或域的服务软件版本。

每个问题都按症状(您所看到的内容以及如何确认)、根本原因如何缓解(自助服务步骤)和建议的操作(如何防止问题再次发生)进行组织。

注意

许多已知的仪表板问题已在较新的服务软件版本中得到解决。在进一步排除故障之前,请打开 Amazon S OpenSearch ervic AWS e 控制台(服务的控制台,而不是控制 OpenSearch 面板用户界面),查看通知面板,然后安装最新的可用服务软件更新。以下几节将此列为建议的操作。如果配置更改或升级已在进行中,请等待其完成后再安装更新。

仪表板停留在 “服务器尚未准备就绪”(HTTP 503 未就绪错误)

症状

仪表板显示OpenSearch Dashboards server is not ready yet(HTTP 503 未就绪错误),但无法完成加载。每当该页面尚未完成启动时,仪表板就会显示该页面。在重启、升级或 blue/green 部署期间,简短版本是正常的,会自行清除。当问题持续存在时,将其视为问题。要缩小原因范围,请检查域的集群运行状况以及配置更改或升级是否正在进行中:

  • 如果更改或升级正在进行中,则消息通常是暂时的;请等待域名恢复为 “活动”。

  • 如果集群运行状况为红色,则仪表板无法启动,因为它取决于集群;请先解决集群问题(请参阅相关的集群和访问问题)。

  • 如果集群运行状况为绿色时该消息仍然存在,则很可能阻止了 OpenSearch 仪表板索引迁移(如下所述)。

根本原因

在服务器的所有核心服务完成初始化之前,仪表板会报告 “服务器尚未准备就绪”,这就是为什么在启动和 blue/green 部署期间需要消息的临时版本的原因。当它在绿色集群中持续存在时,最常见的原因是 OpenSearch 仪表板索引的迁移被阻止:启动时,仪表板会将其保存的对象迁移到别名后面的新索引中,如果迁移无法完成,仪表板将永远无法准备就绪。受阻迁移的常见触发因素:

  • 升级后,可能由于以下原因导致迁移受阻:

    • 先前版本遗留的 OpenSearch 仪表板索引会阻止创建新的别名。

    • 从仪表板未使用别名的旧引擎版本升级后会与现有索引发生冲突。

    • 由较新(自行管理)仪表板实例编写的文档无法自动迁移到目标版本。

  • 如果不进行升级,可能会因为以下原因导致迁移受阻:

    • 由用户界面请求或恢复创建的 OpenSearch 仪表板索引损坏会阻止别名。

    • 两个或多个版本控制 OpenSearch 仪表板索引指向同一个别名。即使集群生命值为绿色,它也可以以 Internal Server Error (HTTP 500) 的形式出现。

    • Per-user 或者每个租户的索引是在使用精细访问控制或 Amazon Cognito 身份验证的域上创建的,没有别名。

    • 由于文档损坏,无法应用已保存对象映射更改。

如何缓解
  1. 如果正在进行配置更改或版本升级,请等待域名恢复为 “活动”。该消息通常是短暂的,并且会自行清除。正常的更改或升级将在几个小时内完成。如果在域名恢复活跃状态超过 4 小时后,仪表板仍不可用,请将其视为持续存在的问题。继续执行以下步骤。(当域仍在处理更改时,您无法启动服务软件更新。)

  2. 如果集群运行状况为红色或黄色,请先解决集群问题(请参阅相关的集群和访问问题)。仪表板无法在运行状况不佳的集群上启动。

  3. 如果集群运行状况为绿色时消息仍然存在,请收集一些只读诊断信息以帮助 AWS 支持部门更快地解决问题,然后联系AWS 支持部门修复 OpenSearch 仪表板索引。根据您的情况,请包括以下命令的输出:

    GET _cat/aliases/.kibana*?v GET _cat/indices/.kibana*?v

    修复被阻止的迁移是修复已经卡住的域名的方法。安装软件更新本身并不能解锁已经卡住的域名。不要自己删除 OpenSearch 仪表板索引。删除它会永久删除所有未在快照中备份的已保存的可视化效果、仪表板和索引模式。如果修复需要删除包含数据的索引,Su AWS pport 会先请求您的许可。对于已不可用超过一个小时且未进行配置更改的生产域,请以生产系统受损或更高的严重性提交 Support 案例。

  4. 为防止再次发生,请使域名保持最新的服务软件更新;当前版本修复了迁移失败的常见原因。在域名恢复活跃状态后安装更新。

  5. 在每次版本升级之前手动拍摄快照,以便在迁移失败时可以恢复已保存的对象。有关拍摄快照的更多信息,请参阅在 Amazon OpenSearch 服务中创建索引快照

建议采取的措施

将您的域名保持在最新的服务软件版本上,并在每次升级之前拍摄快照。如果您依赖仪表板进行生产监控,请考虑集中式在 Amazon OpenSearch 服务中使用 OpenSearch 用户界面,它与单个域的每个域的 OpenSearch 仪表板索引迁移无关。

仪表板无法加载并显示 allow_explicit_index 消息

症状

仪表板无法加载并显示类似于以下内容的消息:

Kibana must be able to specify the index within Elasticsearch multi-requests (rest.action.multi.allow_explicit_index=true).
根本原因

rest.action.multi.allow_explicit_index高级群集选项设置为false。将此选项设置为,true以便仪表板可以执行其批量、mget 和 msearch 操作。

如何缓解

在域名的高级选项truerest.action.multi.allow_explicit_index重新设置为。这是您使用自己的 AWS 凭据在控制台(打开域,选择编辑并更新高级集群设置)或使用 AWS 命令行界面 (CL AWS I) 进行的管理平面更改:

aws opensearch update-domain-config \ --domain-name my-domain \ --advanced-options rest.action.multi.allow_explicit_index=true

更改高级选项会触发 blue/green 部署,因此更改需要几分钟才能生效。有关高级集群设置的更多信息,请参阅高级集群设置

建议采取的措施

false除非您打算通过基于资源的策略限制索引访问权限,否则不要将其设置为rest.action.multi.allow_explicit_index。将其保留为默认值 (true) 可保持仪表板正常运行。

仪表板内存不足

症状

仪表板在负载下会重新启动、崩溃或无响应,尤其是在打开大型仪表板或加载许多已保存对象时。

根本原因

仪表板进程耗尽了其可用内存,这通常是由于加载了太多保存的对象或渲染了繁重的仪表板。

如何缓解
  1. 安装最新的服务软件更新。当前版本会动态调整仪表板堆的大小,并删除了较早的固定大小限制。

  2. 如果您在 “高级设置” 中增加了savedObjects:listingLimit(默认1000),请减少它。大值(例如)10000会导致内存不足错误。

  3. 降低仪表板复杂性、面板数量和自动刷新频率。

  4. 如果内存使用率长期居高不下,请扩展到具有更多内存的实例类型。有关调整域名大小的更多信息,请参阅调整亚马逊 OpenSearch 服务域名的大小

建议采取的措施

要在 Dashboards 内存耗尽之前发现这一点,请注意OpenSearchDashboardsHeapUtilization CloudWatch 指标;如果指标持续超过 80%,请扩展到更大的实例类型。 Right-size 您的仪表板使用实例类型,保持仪表板精简,避免savedObjects:listingLimit超出您的需求。

由于有效载荷的大小,请求失败

症状

某些仪表板页面无法加载,因为请求负载超过了仪表板有效负载限制(server.maxPayloadBytes默认为 1 MB /1,048,576 字节)。

根本原因

与大量索引或字段匹配的索引模式生成的请求大于有效负载限制。

如何缓解
  1. 减少请求大小,而不是提高限制:

    • 减少索引模式中的索引数量。

    • 减少字段的数量。

    • 减少字段名的长度。

  2. 请联系AWS Support 申请受支持的账户级选项,该选项可保持增加的server.maxPayloadBytes价值,以便在 blue/green 部署和节点更换后仍然有效。此选项适用于所有支持的亚马逊 OpenSearch 服务版本。

注意

不要试图通过自己编辑节点上的仪表板配置来提高此限制。 Node-level 更改不是永久性的。任何 blue/green部署或节点替换都会将其删除。请改用 Support 提供的 AWS 账户级别选项。

建议采取的措施

将索引模式的范围限制在您实际使用的索引和字段范围内,以便请求保持在有效负载限制之内。

版本升级期间仪表板不可用

症状

在引擎版本升级部署 blue/green 的大部分时间里,仪表板都不可用。这是预期行为,不是故障,升级完成后它会自行解决。

根本原因

在版本升级的大部分时间里,仪表板都保持离线状态,以避免新旧环境之间的版本检查竞争条件。

如何缓解

等待升级完成;仪表板将自动恢复可用。将版本升级视为计划的仪表板维护窗口,并安排在关键业务时间以外的时间进行升级。有关配置更改的更多信息,请参阅在 Amazon OpenSearch 服务中进行配置更改

建议采取的措施

在流量较低的时段安排升级。如果您需要与单个域的升级窗口无关的仪表板可用性,请考虑集中式在 Amazon OpenSearch 服务中使用 OpenSearch 用户界面

引擎版本升级未通过升级前检查,索引不兼容

症状

在任何升级开始之前,您启动了引擎版本升级(或运行升级资格检查),但升级前检查失败。验证通知列出了一个或多个不兼容的索引,并且可以专门命名 OpenSearch 仪表板索引。当你升级到 OpenSearch 3.x 时,通常会发生这种情况,而域名仍有在 OpenSearch 1.3、Elasticsearch 7.10 或更早版本中创建的索引,包括仪表板索引。 OpenSearch (从 OpenSearch 1.3 或 2.x 升级必须先升级到 OpenSearch 2.19,然后再升级到 OpenSearch 3.x。)

根本原因

OpenSearch 只能读取之前的主版本中的索引,因此 OpenSearch 3.x 不支持在 OpenSearch 1.3、Elasticsearch 7.10 或更早版本中创建的索引。升级前检查会阻止升级并故意列出这些索引,这样您就不会丢失任何数据。在主版本升级之前,您必须重新索引或删除较旧的索引;该服务不会自动为它们重新编制索引。 OpenSearch 仪表板索引遵循相同的规则。

如何缓解
  1. 运行升级资格检查以查看不兼容索引的完整列表(升级失败通知中包含相同的列表)。有关升级域名的更多信息,请参阅升级 Amazon OpenSearch Service 域

  2. 在进行更改之前,请手动拍摄快照。有关拍摄快照的更多信息,请参阅在 Amazon OpenSearch 服务中创建索引快照

  3. 对于每个不兼容的数据索引,将其重新索引到新索引(在当前版本上创建),然后删除旧索引。对于 UltraWarm 冷索引,请先将其移至热存储,重新编制索引,然后将其移回去。

    POST _reindex { "source": { "index": "my-old-index" }, "dest": { "index": "my-new-index" } }
  4. 对于 OpenSearch 仪表板索引,请先进行备份,因为它包含您的索引模式、可视化和仪表板:在仪表板中,转到仪表板管理保存的对象,然后将其导出。然后删除不兼容的索引。升级后会自动创建新的兼容索引;之后重新导入保存的对象。如果您不想将其删除,请联系 Su AWS pport

  5. 删除不再需要的任何不兼容的索引,而不是将其重新编入索引。

  6. Re-run 资格检查,并在升级通过后重新触发升级。

建议采取的措施

重新编制索引或停用旧索引,这样它们就不会跨越多个主要版本;在多次升级中留下的索引最终将阻止一个主要版本。每次升级前都要手动拍摄快照,并定期导出 OpenSearch 仪表板上保存的对象作为备份。

仪表板无法正常加载、显示空白页面或生成空白报告

症状

单个用户或浏览器会看到空白页面、空白报告或显示的红色横幅OpenSearch Dashboards did not load properly. Check the server output for more information.,而其他用户则不受影响。通过在私人(隐身)窗口或其他浏览器中复制来确认。

根本原因

陈旧的浏览器缓存会导致此问题,尤其是在服务软件更新之后或使用报告功能时。

如何缓解
  1. 清除浏览器缓存和 Cookie,然后重新加载页面。尝试使用私有(隐身)窗口和支持的最新浏览器。

  2. 禁用控制面板网址的广告拦截器或浏览器扩展程序。

  3. 如果所有用户(而不仅仅是一个浏览器)的横幅仍然存在,请安装最新的服务软件更新,如果问题仍然存在,请与 Supp AWS ort 联系 Support。

建议采取的措施

服务软件更新后清除浏览器缓存,并使用支持的最新浏览器。

不支持的配置

请避免使用以下配置,这些配置是仪表板问题的常见根源:

  • 仪表板前面的反向代理(例如 nginx)仅支持访问控制,如中所述。使用代理从仪表板访问 OpenSearch 服务如果您通过第三方代理软件运行仪表板并遇到意外错误,请在联系 AWS Support 之前在没有代理的情况下重现该问题。

  • 对节点配置文件的手动编辑不是永久性的。任何 blue/green 部署或节点替换都会将其恢复。使用支持的设置和选项,而不是节点级编辑。您不能使用 SSH 访问节点或直接修改配置文件。

由于仪表板依赖于运行良好的集群和域的访问配置,因此当仪表板不可用时,以下故障排除主题通常适用。有关所有这些,请参阅对亚马逊 OpenSearch 服务进行故障排除

  • 无法访问 OpenSearch 控制面板:访问策略和 Amazon Cognito 身份验证,包括User: anonymous is not authorized to perform: es:ESHttpGet错误和 VPC-access 请求超时。

  • 红色集群状态黄色集群状态:未分配的分片会阻止仪表板读取或写入其 OpenSearch 仪表板索引。

  • ClusterBlockException:存储空间不足或高的 JVM 内存压力会阻止写入,包括对 OpenSearch 仪表板索引的写入。

  • JVM OutOfMemoryError请求限制:集群过载显示为仪表板错误和响应。429 Too Many Requests