本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
故障排除 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 身份验证的域上创建的,没有别名。
-
由于文档损坏,无法应用已保存对象映射更改。
-
-
- 如何缓解
-
-
如果正在进行配置更改或版本升级,请等待域名恢复为 “活动”。该消息通常是短暂的,并且会自行清除。正常的更改或升级将在几个小时内完成。如果在域名恢复活跃状态超过 4 小时后,仪表板仍不可用,请将其视为持续存在的问题。继续执行以下步骤。(当域仍在处理更改时,您无法启动服务软件更新。)
-
如果集群运行状况为红色或黄色,请先解决集群问题(请参阅相关的集群和访问问题)。仪表板无法在运行状况不佳的集群上启动。
-
如果集群运行状况为绿色时消息仍然存在,请收集一些只读诊断信息以帮助 AWS 支持部门更快地解决问题,然后联系AWS 支持
部门修复 OpenSearch 仪表板索引。根据您的情况,请包括以下命令的输出: GET _cat/aliases/.kibana*?v GET _cat/indices/.kibana*?v修复被阻止的迁移是修复已经卡住的域名的方法。安装软件更新本身并不能解锁已经卡住的域名。不要自己删除 OpenSearch 仪表板索引。删除它会永久删除所有未在快照中备份的已保存的可视化效果、仪表板和索引模式。如果修复需要删除包含数据的索引,Su AWS pport 会先请求您的许可。对于已不可用超过一个小时且未进行配置更改的生产域,请以生产系统受损或更高的严重性提交 Support 案例。
-
为防止再次发生,请使域名保持最新的服务软件更新;当前版本修复了迁移失败的常见原因。在域名恢复活跃状态后安装更新。
-
在每次版本升级之前手动拍摄快照,以便在迁移失败时可以恢复已保存的对象。有关拍摄快照的更多信息,请参阅在 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 操作。 - 如何缓解
-
在域名的高级选项
true中rest.action.multi.allow_explicit_index重新设置为。这是您使用自己的 AWS 凭据在控制台(打开域,选择编辑并更新高级集群设置)或使用 AWS 命令行界面 (CL AWS I) 进行的管理平面更改:aws opensearch update-domain-config \ --domain-namemy-domain\ --advanced-options rest.action.multi.allow_explicit_index=true更改高级选项会触发 blue/green 部署,因此更改需要几分钟才能生效。有关高级集群设置的更多信息,请参阅高级集群设置。
- 建议采取的措施
-
false除非您打算通过基于资源的策略限制索引访问权限,否则不要将其设置为rest.action.multi.allow_explicit_index。将其保留为默认值 (true) 可保持仪表板正常运行。
仪表板内存不足
- 症状
-
仪表板在负载下会重新启动、崩溃或无响应,尤其是在打开大型仪表板或加载许多已保存对象时。
- 根本原因
-
仪表板进程耗尽了其可用内存,这通常是由于加载了太多保存的对象或渲染了繁重的仪表板。
- 如何缓解
-
-
安装最新的服务软件更新。当前版本会动态调整仪表板堆的大小,并删除了较早的固定大小限制。
-
如果您在 “高级设置” 中增加了
savedObjects:listingLimit(默认1000),请减少它。大值(例如)10000会导致内存不足错误。 -
降低仪表板复杂性、面板数量和自动刷新频率。
-
如果内存使用率长期居高不下,请扩展到具有更多内存的实例类型。有关调整域名大小的更多信息,请参阅调整亚马逊 OpenSearch 服务域名的大小。
-
- 建议采取的措施
-
要在 Dashboards 内存耗尽之前发现这一点,请注意
OpenSearchDashboardsHeapUtilizationCloudWatch 指标;如果指标持续超过 80%,请扩展到更大的实例类型。 Right-size 您的仪表板使用实例类型,保持仪表板精简,避免savedObjects:listingLimit超出您的需求。
由于有效载荷的大小,请求失败
- 症状
-
某些仪表板页面无法加载,因为请求负载超过了仪表板有效负载限制(
server.maxPayloadBytes默认为 1 MB /1,048,576 字节)。 - 根本原因
-
与大量索引或字段匹配的索引模式生成的请求大于有效负载限制。
- 如何缓解
-
-
减少请求大小,而不是提高限制:
-
减少索引模式中的索引数量。
-
减少字段的数量。
-
减少字段名的长度。
-
-
请联系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 仪表板索引遵循相同的规则。
- 如何缓解
-
-
运行升级资格检查以查看不兼容索引的完整列表(升级失败通知中包含相同的列表)。有关升级域名的更多信息,请参阅升级 Amazon OpenSearch Service 域。
-
在进行更改之前,请手动拍摄快照。有关拍摄快照的更多信息,请参阅在 Amazon OpenSearch 服务中创建索引快照。
-
对于每个不兼容的数据索引,将其重新索引到新索引(在当前版本上创建),然后删除旧索引。对于 UltraWarm 冷索引,请先将其移至热存储,重新编制索引,然后将其移回去。
POST _reindex { "source": { "index": "my-old-index" }, "dest": { "index": "my-new-index" } } -
对于 OpenSearch 仪表板索引,请先进行备份,因为它包含您的索引模式、可视化和仪表板:在仪表板中,转到仪表板管理、保存的对象,然后将其导出。然后删除不兼容的索引。升级后会自动创建新的兼容索引;之后重新导入保存的对象。如果您不想将其删除,请联系 Su AWS pport
。 -
删除不再需要的任何不兼容的索引,而不是将其重新编入索引。
-
Re-run 资格检查,并在升级通过后重新触发升级。
-
- 建议采取的措施
-
重新编制索引或停用旧索引,这样它们就不会跨越多个主要版本;在多次升级中留下的索引最终将阻止一个主要版本。每次升级前都要手动拍摄快照,并定期导出 OpenSearch 仪表板上保存的对象作为备份。
仪表板无法正常加载、显示空白页面或生成空白报告
- 症状
-
单个用户或浏览器会看到空白页面、空白报告或显示的红色横幅
OpenSearch Dashboards did not load properly. Check the server output for more information.,而其他用户则不受影响。通过在私人(隐身)窗口或其他浏览器中复制来确认。 - 根本原因
-
陈旧的浏览器缓存会导致此问题,尤其是在服务软件更新之后或使用报告功能时。
- 如何缓解
-
-
清除浏览器缓存和 Cookie,然后重新加载页面。尝试使用私有(隐身)窗口和支持的最新浏览器。
-
禁用控制面板网址的广告拦截器或浏览器扩展程序。
-
如果所有用户(而不仅仅是一个浏览器)的横幅仍然存在,请安装最新的服务软件更新,如果问题仍然存在,请与 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