View a markdown version of this page

故障診斷 OpenSearch Dashboards - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

故障診斷 OpenSearch Dashboards

本節說明可能導致 OpenSearch Dashboards 無法使用、無法載入或非預期行為的已知問題。每個問題都包含您可以自行解決的動作。儀表板會在您網域中的熱資料節點上執行,並在 OpenSearch Dashboards 索引中存放其狀態 (索引模式、視覺化和儀表板)。因此,大多數 Dashboards 可用性問題會回溯到叢集運作狀態、儲存體、OpenSearch Dashboards 索引遷移、叢集或 Dashboards 設定、資源限制或網域的服務軟體版本。

每個問題都會組織為徵狀 (您看到的內容以及如何確認)、根本原因如何緩解 (自助步驟) 和建議的動作 (如何防止重複)。

注意

許多已知的 Dashboards 問題已在較新的服務軟體版本中解決。在進一步疑難排解之前,請開啟 Amazon OpenSearch Service 主控台 (服務的 AWS 主控台,而非 OpenSearch Dashboards UI)、檢查通知面板,並安裝最新的可用服務軟體更新。以下幾個區段會將此列為建議的動作。如果組態變更或升級已在進行中,請等待它完成再安裝更新。

儀表板卡在「伺服器尚未就緒」(HTTP 503 尚未就緒錯誤)

徵狀

儀表板會顯示 OpenSearch Dashboards server is not ready yet(HTTP 503 未就緒錯誤) 且未完成載入。儀表板會在尚未完成啟動時顯示此頁面。在重新啟動、升級或藍/綠部署期間,簡短版本是正常的,並且會自行清除。當問題持續存在時,將其視為問題。若要縮小原因範圍,請檢查網域的叢集運作狀態,以及是否正在進行組態變更或升級:

  • 如果變更或升級正在進行中,訊息通常是暫時性的;請等待網域返回作用中

  • 如果叢集運作狀態為紅色,儀表板無法啟動,因為它取決於叢集;請先解決叢集問題 (請參閱 相關叢集和存取問題)。

  • 如果訊息在叢集運作狀態為綠色時仍存在,則 OpenSearch Dashboards 索引遷移很可能遭到封鎖 (如下所述)。

根本原因

Dashboards 會報告「伺服器尚未就緒」,直到其所有核心服務完成初始化為止,這就是為什麼在啟動和藍/綠部署期間預期會發生暫時性的訊息版本。當它持續使用綠色叢集時,最常見的原因是 OpenSearch Dashboards 索引的遷移遭到封鎖:在啟動時, Dashboards 會將其儲存的物件遷移到別名後方的新索引,如果遷移無法完成,則 Dashboards 永遠不會就緒。封鎖遷移的常見觸發條件:

  • 升級之後,可能會發生封鎖的遷移,原因如下:

    • 先前版本剩餘的 OpenSearch Dashboards 索引可防止建立新的別名。

    • 從儀表板未使用別名的舊引擎版本升級與現有索引衝突。

    • 由較新 (自我管理) Dashboards 執行個體撰寫的文件無法自動遷移至目標版本。

  • 如果沒有升級,可能會發生封鎖的遷移,原因如下:

    • UI 請求或還原建立的受損 OpenSearch Dashboards 索引會封鎖別名。

    • 兩個或多個版本控制的 OpenSearch Dashboards 索引會指向相同的別名。即使叢集運作狀態為綠色,這也可以顯示為 Internal Server Error(HTTP 500)。

    • 每個使用者或每個租用戶索引是在使用精細存取控制或 Amazon Cognito 身分驗證的網域上建立的,沒有別名。

    • 由於文件損壞,無法套用已儲存物件映射變更。

如何緩解
  1. 如果組態變更或版本升級正在進行中,請等待網域返回作用中。訊息通常是暫時性的,並且會自行清除。正常的變更或升級會在幾個小時內完成。如果儀表板在網域返回 Active 超過 4 小時後仍無法使用,請將它視為持久性問題。繼續執行下列步驟。(當網域仍在處理變更時,您無法啟動服務軟體更新。)

  2. 如果叢集運作狀態為紅色或黃色,請先解決叢集問題 (請參閱 相關叢集和存取問題)。儀表板無法在運作狀態不佳的叢集上啟動。

  3. 如果訊息在叢集運作狀態為綠色時持續存在,請收集一些唯讀診斷,以協助 AWS Support 更快解決問題,然後聯絡 AWS Support 修復 OpenSearch Dashboards 索引。在您的案例中包含下列命令的輸出:

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

    修復封鎖的遷移是已存放網域的修正。安裝軟體更新本身不會解除封鎖已停滯的網域。請勿自行刪除 OpenSearch Dashboards 索引。將其刪除會永久移除快照中未備份的所有已儲存視覺效果、儀表板和索引模式。如果修復需要刪除包含資料的索引, AWS Support 會先請求您的許可。對於超過一小時沒有組態變更而無法使用的生產網域,請開啟嚴重性為生產系統受損或更高的支援案例。

  4. 為了防止再次發生,請將網域保持在最新的服務軟體更新上;目前的版本會修正遷移失敗的常見原因。在網域返回 Active 之後安裝更新。

  5. 每次版本升級之前,請手動建立快照,以便在遷移失敗時還原已儲存的物件。如需拍攝快照的詳細資訊,請參閱 在 Amazon OpenSearch Service 中建立索引快照

建議動作

將您的網域保留在目前的服務軟體版本上,並在每次升級之前拍攝快照。如果您依賴 Dashboards 進行生產監控,請考慮集中式 在 Amazon OpenSearch Service 中使用 OpenSearch UI,這不會繫結至單一網域的每個網域 OpenSearch Dashboards 索引遷移。

儀表板無法載入並顯示 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以便 Dashboards 可以執行其大量、mget 和 msearch 操作。

如何緩解

在網域的進階選項true中將 設rest.action.multi.allow_explicit_index回 。這是您在主控台 (開啟網域、選擇編輯和更新進階叢集設定) 或使用 AWS 命令列界面 (AWS CLI) 使用您自己的 AWS 登入資料進行的管理平面變更:

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

變更進階選項會觸發藍/綠部署,因此變更需要幾分鐘的時間才能套用。如需進階叢集設定的詳細資訊,請參閱 進階叢集設定

建議動作

除非您打算透過以資源為基礎的政策限制索引存取,false否則請勿rest.action.multi.allow_explicit_index將 設定為 。將其保留在預設 (true) 可保持 Dashboards 運作。

儀表板記憶體不足

徵狀

儀表板會在載入時重新啟動、當機或變得沒有回應,尤其是在開啟大型儀表板或載入許多已儲存物件時。

根本原因

Dashboards 程序會耗盡其可用的記憶體,通常不會載入太多儲存的物件或轉譯繁重的儀表板。

如何緩解
  1. 安裝最新的服務軟體更新。目前的版本會動態調整儀表板堆積的大小,並移除較舊的固定大小限制。

  2. 如果您在進階設定中增加 savedObjects:listingLimit(預設 1000),請將其減少。大型值,例如 10000,已造成out-of-memory錯誤。

  3. 降低儀表板複雜性、面板數量和自動重新整理頻率。

  4. 如果記憶體用量長期很高,請擴展到具有更多記憶體的執行個體類型。如需調整網域大小的詳細資訊,請參閱調整 Amazon OpenSearch Service 網域的大小

建議動作

若要在 Dashboards 用盡記憶體之前攔截此問題,請監看 OpenSearchDashboardsHeapUtilization CloudWatch 指標;如果持續超過 80%,請擴展至較大的執行個體類型。為您的 Dashboards 使用量調整適當大小的執行個體類型、保持儀表板精簡,並避免savedObjects:listingLimit超出您的需求。

由於承載大小,請求失敗

徵狀

某些 Dashboards 頁面無法載入,因為請求承載超過 Dashboards 承載限制 (server.maxPayloadBytes預設為 1 MB/1,048,576 位元組)。

根本原因

符合非常大量的索引或欄位的索引模式會產生大於承載限制的請求。

如何緩解
  1. 減少請求大小,而不是提高限制:

    • 減少索引模式中的索引數量。

    • 減少欄位數量。

    • 減少欄位名稱長度。

  2. 請聯絡 AWS Support 請求支援的帳戶層級選項,該選項會持續增加server.maxPayloadBytes值,因此可以承受藍/綠部署和節點替換。此選項適用於所有支援的 Amazon OpenSearch Service 版本。

注意

請勿嘗試自行編輯節點上的儀表板組態來提高此限制。節點層級變更並非持久性。任何藍/綠部署或節點替換都會將其移除。請改透過 AWS Support 使用帳戶層級選項。

建議動作

將索引模式範圍維持在您實際使用的索引和欄位範圍內,讓請求保持在承載限制內。

儀表板在版本升級期間無法使用

徵狀

儀表板在引擎版本升級藍/綠部署的大部分期間都無法使用。這是預期的行為,不是錯誤,而且會在升級完成時自行解決。

根本原因

對於大多數版本升級,儀表板會保持離線狀態,以避免舊環境和新環境之間的版本檢查競爭條件。

如何緩解

等待升級完成;儀表板會自動再次可用。將版本升級視為規劃的 Dashboards 維護時段,並在關鍵營業時間之外排程。如需組態變更的詳細資訊,請參閱 在 Amazon OpenSearch Service 中進行組態變更

建議動作

在低流量時段期間排程升級。如果您需要未繫結至單一網域升級時段的儀表板可用性,請考慮集中式 在 Amazon OpenSearch Service 中使用 OpenSearch UI

引擎版本升級未通過具有不相容索引的升級前檢查

徵狀

您啟動引擎版本升級 (或執行升級資格檢查),並在任何升級開始之前,於升級前檢查失敗。驗證通知會列出一或多個不相容的索引,並可特別命名 OpenSearch Dashboards 索引。這通常會在您升級至 OpenSearch 3.x 時發生,而網域仍然在 OpenSearch 1.3、Elasticsearch 7.10 或更早版本中建立索引,包括 OpenSearch Dashboards 索引。(從 OpenSearch 1.3 或 2.x 的升級必須先移至 OpenSearch 2.19,然後移至 OpenSearch 3.x。)

根本原因

OpenSearch 只能從先前的主要版本讀取索引,因此 OpenSearch 3.x 不支援在 OpenSearch 1.3、Elasticsearch 7.10 或更早版本中建立的索引。升級前檢查會封鎖升級,並依用途列出這些索引,因此您不會遺失任何資料。在主要版本升級之前,您必須重新索引或移除較舊的索引;服務不會自動重新索引它們。OpenSearch Dashboards 索引遵循相同的規則。

如何緩解
  1. 執行升級資格檢查以查看不相容索引的完整清單 (相同的清單位於升級失敗通知中)。如需升級網域的詳細資訊,請參閱 升級 Amazon OpenSearch Service 網域

  2. 在進行變更之前先手動拍攝快照。如需拍攝快照的詳細資訊,請參閱 在 Amazon OpenSearch Service 中建立索引快照

  3. 對於每個不相容的資料索引,將其重新索引為新索引 (在目前版本上建立),然後刪除舊索引。對於 UltraWarm 或冷索引,請先將其移至熱儲存,重新索引,然後將它們移回。

    POST _reindex { "source": { "index": "my-old-index" }, "dest": { "index": "my-new-index" } }
  4. 對於 OpenSearch Dashboards 索引,請先備份,因為它會保留您的索引模式、視覺化和儀表板:在儀表板中,前往儀表板管理儲存的物件,然後匯出它們。然後刪除不相容的索引。升級後會自動建立新的相容索引;之後會重新匯入您儲存的物件。如果您不想刪除它,請聯絡 AWS Support

  5. 刪除您不再需要的任何不相容索引,而不是重新編製索引。

  6. 重新執行資格檢查,並在升級通過後重新觸發升級。

建議動作

重新索引或淘汰舊索引,使其不會跨越多個主要版本;在多個升級中留下的索引最終會封鎖一個。每次升級之前手動拍攝快照,並定期匯出 OpenSearch Dashboards 儲存的物件做為備份。

儀表板無法正常載入、顯示空白頁面或產生空白報告

徵狀

單一使用者或瀏覽器會看到空白頁面、空白報告或讀取 的紅色橫幅OpenSearch Dashboards did not load properly. Check the server output for more information.,而其他使用者則不受影響。在私有 (incognito) 視窗或其他瀏覽器中重新產生以確認。

根本原因

過時瀏覽器快取會導致此問題,尤其是在服務軟體更新後或使用報告功能時。

如何緩解
  1. 清除瀏覽器快取和 Cookie,然後重新載入頁面。嘗試私有 (incognito) 視窗和支援up-to-date瀏覽器。

  2. 停用儀表板 URL 的廣告封鎖程式或瀏覽器延伸。

  3. 如果所有使用者 (不只是一個瀏覽器) 仍存在橫幅,請安裝最新的服務軟體更新,如果問題持續發生,請聯絡 AWS Support

建議動作

在服務軟體更新後清除您的瀏覽器快取,並使用支援up-to-date瀏覽器。

不支援的組態

避免這些組態,這是 Dashboards 問題的常見來源:

  • Dashboards 前方的反向代理 (例如 nginx) 僅支援存取控制,如中所述使用代理伺服器從 Dashboards 中存取 OpenSearch Service。如果您透過第三方代理軟體執行 Dashboards 並遇到意外錯誤,請在聯絡 AWS Support 之前在沒有代理的情況下重現問題。

  • 對節點組態檔案的手動編輯並非持久性。任何藍/綠部署或節點替換都會將其還原。使用支援的設定和選項,而非節點層級編輯。您無法使用 SSH 存取節點或直接修改組態檔案。

由於 Dashboards 取決於運作狀態良好的叢集和網域的存取組態,因此當 Dashboards 無法使用時,經常會套用下列疑難排解主題。如需這些詳細資訊,請參閱 Amazon OpenSearch Service 疑難排解

  • 無法存取 OpenSearch Dashboards:存取政策和 Amazon Cognito 身分驗證,包括User: anonymous is not authorized to perform: es:ESHttpGet錯誤和 VPC 存取請求逾時。

  • 紅色叢集狀態黃色叢集狀態:未指派的碎片會阻止 Dashboards 讀取或寫入其 OpenSearch Dashboards 索引。

  • ClusterBlockException:低儲存空間或高 JVM 記憶體壓力區塊寫入,包括寫入 OpenSearch Dashboards 索引。

  • JVM OutOfMemoryError 和請求限流:叢集過載表面作為儀表板錯誤和429 Too Many Requests回應。