本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
故障診斷 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 身分驗證的網域上建立的,沒有別名。
-
由於文件損壞,無法套用已儲存物件映射變更。
-
-
- 如何緩解
-
-
如果組態變更或版本升級正在進行中,請等待網域返回作用中。訊息通常是暫時性的,並且會自行清除。正常的變更或升級會在幾個小時內完成。如果儀表板在網域返回 Active 超過 4 小時後仍無法使用,請將它視為持久性問題。繼續執行下列步驟。(當網域仍在處理變更時,您無法啟動服務軟體更新。)
-
如果叢集運作狀態為紅色或黃色,請先解決叢集問題 (請參閱 相關叢集和存取問題)。儀表板無法在運作狀態不佳的叢集上啟動。
-
如果訊息在叢集運作狀態為綠色時持續存在,請收集一些唯讀診斷,以協助 AWS Support 更快解決問題,然後聯絡 AWS Support
修復 OpenSearch Dashboards 索引。在您的案例中包含下列命令的輸出: GET _cat/aliases/.kibana*?v GET _cat/indices/.kibana*?v修復封鎖的遷移是已存放網域的修正。安裝軟體更新本身不會解除封鎖已停滯的網域。請勿自行刪除 OpenSearch Dashboards 索引。將其刪除會永久移除快照中未備份的所有已儲存視覺效果、儀表板和索引模式。如果修復需要刪除包含資料的索引, AWS Support 會先請求您的許可。對於超過一小時沒有組態變更而無法使用的生產網域,請開啟嚴重性為生產系統受損或更高的支援案例。
-
為了防止再次發生,請將網域保持在最新的服務軟體更新上;目前的版本會修正遷移失敗的常見原因。在網域返回 Active 之後安裝更新。
-
每次版本升級之前,請手動建立快照,以便在遷移失敗時還原已儲存的物件。如需拍攝快照的詳細資訊,請參閱 在 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-namemy-domain\ --advanced-options rest.action.multi.allow_explicit_index=true變更進階選項會觸發藍/綠部署,因此變更需要幾分鐘的時間才能套用。如需進階叢集設定的詳細資訊,請參閱 進階叢集設定。
- 建議動作
-
除非您打算透過以資源為基礎的政策限制索引存取,
false否則請勿rest.action.multi.allow_explicit_index將 設定為 。將其保留在預設 (true) 可保持 Dashboards 運作。
儀表板記憶體不足
- 徵狀
-
儀表板會在載入時重新啟動、當機或變得沒有回應,尤其是在開啟大型儀表板或載入許多已儲存物件時。
- 根本原因
-
Dashboards 程序會耗盡其可用的記憶體,通常不會載入太多儲存的物件或轉譯繁重的儀表板。
- 如何緩解
-
-
安裝最新的服務軟體更新。目前的版本會動態調整儀表板堆積的大小,並移除較舊的固定大小限制。
-
如果您在進階設定中增加
savedObjects:listingLimit(預設1000),請將其減少。大型值,例如10000,已造成out-of-memory錯誤。 -
降低儀表板複雜性、面板數量和自動重新整理頻率。
-
如果記憶體用量長期很高,請擴展到具有更多記憶體的執行個體類型。如需調整網域大小的詳細資訊,請參閱調整 Amazon OpenSearch Service 網域的大小。
-
- 建議動作
-
若要在 Dashboards 用盡記憶體之前攔截此問題,請監看
OpenSearchDashboardsHeapUtilizationCloudWatch 指標;如果持續超過 80%,請擴展至較大的執行個體類型。為您的 Dashboards 使用量調整適當大小的執行個體類型、保持儀表板精簡,並避免savedObjects:listingLimit超出您的需求。
由於承載大小,請求失敗
- 徵狀
-
某些 Dashboards 頁面無法載入,因為請求承載超過 Dashboards 承載限制 (
server.maxPayloadBytes預設為 1 MB/1,048,576 位元組)。 - 根本原因
-
符合非常大量的索引或欄位的索引模式會產生大於承載限制的請求。
- 如何緩解
-
-
減少請求大小,而不是提高限制:
-
減少索引模式中的索引數量。
-
減少欄位數量。
-
減少欄位名稱長度。
-
-
請聯絡 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 索引遵循相同的規則。
- 如何緩解
-
-
執行升級資格檢查以查看不相容索引的完整清單 (相同的清單位於升級失敗通知中)。如需升級網域的詳細資訊,請參閱 升級 Amazon OpenSearch Service 網域。
-
在進行變更之前先手動拍攝快照。如需拍攝快照的詳細資訊,請參閱 在 Amazon OpenSearch Service 中建立索引快照。
-
對於每個不相容的資料索引,將其重新索引為新索引 (在目前版本上建立),然後刪除舊索引。對於 UltraWarm 或冷索引,請先將其移至熱儲存,重新索引,然後將它們移回。
POST _reindex { "source": { "index": "my-old-index" }, "dest": { "index": "my-new-index" } } -
對於 OpenSearch Dashboards 索引,請先備份,因為它會保留您的索引模式、視覺化和儀表板:在儀表板中,前往儀表板管理、儲存的物件,然後匯出它們。然後刪除不相容的索引。升級後會自動建立新的相容索引;之後會重新匯入您儲存的物件。如果您不想刪除它,請聯絡 AWS Support
。 -
刪除您不再需要的任何不相容索引,而不是重新編製索引。
-
重新執行資格檢查,並在升級通過後重新觸發升級。
-
- 建議動作
-
重新索引或淘汰舊索引,使其不會跨越多個主要版本;在多個升級中留下的索引最終會封鎖一個。每次升級之前手動拍攝快照,並定期匯出 OpenSearch Dashboards 儲存的物件做為備份。
儀表板無法正常載入、顯示空白頁面或產生空白報告
- 徵狀
-
單一使用者或瀏覽器會看到空白頁面、空白報告或讀取 的紅色橫幅
OpenSearch Dashboards did not load properly. Check the server output for more information.,而其他使用者則不受影響。在私有 (incognito) 視窗或其他瀏覽器中重新產生以確認。 - 根本原因
-
過時瀏覽器快取會導致此問題,尤其是在服務軟體更新後或使用報告功能時。
- 如何緩解
-
-
清除瀏覽器快取和 Cookie,然後重新載入頁面。嘗試私有 (incognito) 視窗和支援up-to-date瀏覽器。
-
停用儀表板 URL 的廣告封鎖程式或瀏覽器延伸。
-
如果所有使用者 (不只是一個瀏覽器) 仍存在橫幅,請安裝最新的服務軟體更新,如果問題持續發生,請聯絡 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回應。