為什麼 OpenSearch Dashboards 在 Amazon OpenSearch Service 網域中處於紅色狀態?

上次更新日期:2021 年 7 月 30 日

OpenSearch 儀表板不斷在我的 Amazon OpenSearch Service (Amazon Elasticsearch Service 的繼任者) 網域上顯示紅色狀態。為什麼會發生這種情況,我該如何針對這個問題進行疑難排解?

簡短描述

當 OpenSearch Service 叢集的每個節點都通過所有運作狀態檢查時,OpenSearch 儀表板會顯示綠色狀態。如果運作狀態檢查失敗,則 OpenSearch 儀表板會進入紅色狀態。當 OpenSearch Service 處於紅色叢集狀態時,OpenSearch 儀表板也會顯示紅色狀態。「OpenSearch 儀表板」的狀態可能會變成紅色,原因如下:

  • 由於 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或 Amazon Elastic Block Store (Amazon EBS) 磁碟區發生問題所造成的節點故障。如需節點當機的詳細資訊,請參閱為何我的 Amazon OpenSearch Service 節點當機?
  • 節點的記憶體不足。
  • 將 OpenSearch Service 升級至較新版本。
  • OpenSearch 儀表板與 OpenSearch Service 版本之間的不相容性。
  • 單一節點叢集執行時負載過重,且沒有專用的領導者節點。專用的領導節點也可能無法連線。如需 OpenSearch Service 如何增加叢集穩定性的詳細資訊,請參閱專用領導者節點

解決方案

使用下列一或多個方法來解析您 OpenSearch Service 網域的 OpenSearch 儀表板紅色狀態。

注意:如果您的叢集顯示斷路器異常狀況,請先增加斷路器限制。如果您沒有斷路器異常狀況,請在增加斷路器限制之前嘗試其他方法。

調整查詢

如果您正在執行複雜的查詢 (例如大量彙總),請調整查詢以獲得最大效能。堆積記憶體消耗的突然峰值可能是用於彙總查詢的欄位資料或資料結構所造成。

檢閱下列 API 呼叫以識別峰值的原因,以您的網域端點取代 os-endpoint

$curl os-endpoint/_nodes/stats/breaker?pretty
$curl "os-endpoint/_nodes/stats/indices/fielddata?level=indices&fields=*"

如需有關管理記憶體使用量的詳細資訊,請參閱 Elasticsearch 網站上的調整搜尋速度

使用專用領導者節點

最佳實務是為每個 OpenSearch Service 網域分配三個專屬的領導者節點。如需有關改善叢集穩定性的詳細資訊,請參閱開始使用 Amazon OpenSearch Service:使用專用領導者執行個體來改善叢集穩定性

擴充規模

若要擴充網域規模,請增加節點數目,或選擇容納更多記憶體的 Amazon EC2 執行個體類型。如需有關擴展的詳細資訊,請參閱如何擴充規模或水平擴展我的 Amazon OpenSearch Service 網域?

檢查您的碎片分佈

檢查碎片正在擷取的索引,以確認它們均勻分佈在所有資料節點。如果您的碎片分佈不均勻,一或多個資料節點可能會儲存空間不足。

使用下列公式來確認碎片均勻分佈:

Total number of shards = shards per node * number of data nodes

例如,如果索引中有 24 個碎片,並有八個資料節點,則每個節點將有三個碎片。如需有關所需碎片數量的詳細資訊,請參閱開始使用 Amazon OpenSearch Service:我需要幾個碎片?

檢查您的版本

重要事項:您的 OpenSearch 儀表板和 OpenSearch Service 版本必須相容。

執行下列 API 呼叫以確認您的版本是否相容,將 os-endpoint 取代為您的網域端點:

$curl os-endpoint/.kibana/config/_search?pretty

注意:指令失敗可能會指出 OpenSearch 儀表板與支援的 OpenSearch Service 版本之間的相容性問題。如需有關 OpenSearch 儀表板與 Elasticsearch 版本相容的更多資訊,請參閱 Elasticsearch 網站上的設定

監控資源

設定 Amazon CloudWatch 警示,以在資源使用超過特定閾值時通知您。例如,如果您為 JVM 記憶體壓力設定警示,請在壓力達到 100% 之前採取動作。如需有關 CloudWatch 警示的詳細資訊,請參閱建議的 CloudWatch 警示,並使用 Amazon CloudWatch 的自動警示來改善 Amazon OpenSearch Service 網域的操作效率

增加斷路器限制

若要避免叢集記憶體不足,請嘗試增加父系或欄位資料斷路器限制。如需有關欄位資料斷路器限制的詳細資訊,請參閱 Elasticsearch 網站上的斷路器