Cluster Health 提供了有關群集的大量資訊,例如分配的分片數(活動)以及未分配和重定位的分片數。此外,它提供了群集中當前數量的節點和資料節點,這可以允許你輪詢丟失的節點(例如,如果你希望它是 15,但它只顯示 14,那麼你缺少一個節點)。

對於瞭解 Elasticsearch 的人來說,已分配未分配的分片可以幫助他們追蹤問題。

從 Cluster Health 檢查的最常見欄位是 status,它可以處於以下三種狀態之一:

  • 紅色
  • 黃色
  • 綠色

每種顏色都意味著一個 - 而且只有一個 - 非常簡單:

  1. 紅色表示你缺少至少一個主分片。
    • 缺少主分片意味著在大多數情況下,索引不能用於寫入(索引)新資料。
      • 從技術上講,你仍然可以索引該索引中可用的任何主分片,但實際上這意味著你不能,因為你通常不會控制哪個分片接收任何給定文件。
      • 仍然可以針對紅色群集進行搜尋,但這意味著如果你搜尋的任何索引缺少分片,你將獲得部分結果。
    • 在正常情況下,它只是意味著正在分配主分片(initializing_shards)。
    • 如果一個節點剛剛離開叢集(例如,因為執行它的機器斷電),那麼暫時缺少一些主分片是有道理的。
      • 在此方案中,該主分片的任何副本分片都將被提升為主分片。
  2. 黃色表示所有主分片都處於活動狀態,但至少缺少一個副本分片。
    • 如果一致性設定要求它影響索引,則缺少的副本僅影響索引。
      • 預設情況下,任何主副本只有一個副本,並且只有一個丟失的副本可能會發生索引。
    • 在正常情況下,它只是意味著正在分配副本分片(initializing_shards)。
    • 啟用了副本的單節點群集最多**始終為黃色。如果尚未分配主分片,則它可以為紅色。 **
      • 如果你只有一個節點,那麼禁用副本是有意義的,因為你不期望任何副本。然後它可以是綠色的。
  3. 綠色表示所有分片都處於活動狀態。
    • 綠色叢集允許的唯一分片活動是 relocating_shards
    • 新的索引以及新的分片將導致群集從紅色變為黃色變為綠色,因為每個分片都被分配(主要是第一個,使其變為黃色,然後是可能的副本,使其變為綠色)。
      • 在 Elasticsearch 5.x 及更高版本中,新索引不會使你的群集變為紅色,除非它們需要太長時間才能分配。