Elasticsearch為運行中的叢集提供了多項基礎監控指標(例如,叢集狀態、叢集查詢QPS、節點CPU使用率、節點磁碟使用率等),用來監測叢集的健全狀態。您可以根據這些指標,即時瞭解叢集的健全狀態,及時處理潛在風險,從而保障叢集穩定運行。本文為您介紹如何查看叢集監控詳情,並提供了各監控指標的含義、異常原因和異常處理建議。
監控差異說明
Elasticsearch叢集監控可能與Kibana或第三方監控存在如下差異:
採樣周期差異性:採集周期和Kibana或第三方監控存在差異,採集到的資料不同,因此會存在差異。
查詢演算法差異性:例如,Elasticsearch叢集監控和Kibana監控採集資料時都會受叢集穩定性的影響,叢集監控QPS指標會因叢集的抖動會出現監控突增、負值或無監控等狀況,而Kibana監控可能顯示為空白。
說明如果叢集監控提供的指標比Kibana監控多,在實際使用時,建議將叢集監控和Kibana監控結合起來分析叢集監控詳情。
採集介面差異性:Kibana監控指標依賴於Elasticsearch API,而叢集監控部分節點層級的指標(例如,CPU使用率、load_1m、磁碟使用率等),調用的是Elasticsearch底層系統介面,因此監控中除了Elasticsearch進程外還包含了系統層級資源的佔用情況。
查看叢集監控詳情
在左側導覽列,單擊Elasticsearch執行個體。
進入目標執行個體。
在頂部功能表列處,選擇資源群組和地區。
在Elasticsearch執行個體中單擊目標執行個體ID。
在左側導覽列,選擇。
查看監控詳情。
查看基礎監控詳情
在基礎監控頁簽,按需選擇分組類別和監控時段,即可查看該類別的資源在對應時段內的監控詳情。
說明單擊自訂,即可按需查看自訂時間段內的監控詳情。
Elasticsearch執行個體的監控警示預設為開啟狀態,因此您可在叢集監控頁面查看歷史監控資料。目前只保留30天內的監控資訊,並且提供分鐘粒度的資料。
更多基礎監控相關的指標,請參見基礎監控指標概覽。
基礎監控指標概覽
叢集的基礎監控指標分類及概要介紹如下表。
具體請以實際介面為準。
概覽
指標名稱 | 指標描述 |
表示叢集的健康度,數值為 | |
表示Elasticsearch控制台中,自動備份功能的快照狀態。 當指標數值為 | |
表示叢集內的節點總數。 | |
表示叢集內的失聯節點總數。 | |
表示叢集的索引數量。 | |
表示叢集的分區數量。 | |
表示叢集的主分區數量。 | |
表示叢集的慢查詢條數。 | |
表示叢集每秒寫入文檔的數量。 | |
表示叢集每秒執行的查詢QPS數量,查詢QPS數量與待查詢索引的主分區個數有關。 | |
表示叢集中各節點的CPU使用率百分比。 | |
表示叢集中各節點的HeapMemory使用率百分比。 | |
表示叢集中各節點的磁碟使用率百分比。建議將磁碟使用率警示閾值控制在 | |
表示叢集中各節點在 | |
表示叢集中各節點每秒資料包的流入速率。監控周期:1分鐘,單位:KB/s。 | |
表示叢集中各節點每秒資料包的流出速率。監控周期:1分鐘,單位:KB/s。 | |
表示叢集中各節點網路流入流量包的數量。監控周期:1分鐘。 | |
表示叢集中各節點網路流量包流出的數量。監控周期:1分鐘。 | |
表示叢集中各節點收到的用戶端每次發起TCP串連請求的數量。 | |
表示叢集中各節點的IO使用率達到多少百分比。 | |
表示每秒鐘從叢集中各節點讀取的資料量。 | |
表示每秒向叢集中各節點寫入的資料量。 | |
表示叢集中各節點每秒完成的讀請求數量。 | |
表示叢集中各節點每秒完成的寫請求數量。 |
叢集指標
指標名稱 | 指標描述 |
表示叢集的健康度,數值為 | |
表示叢集內的節點總數。 | |
表示叢集內的失聯節點總數。 | |
表示叢集的索引數量。 | |
表示叢集的分區數量。 | |
表示叢集的主分區數量。 | |
表示叢集的慢查詢條數。 | |
該指標基於慢日誌中 | |
表示Elasticsearch控制台中,自動備份功能的快照狀態。當指標數值為 | |
表示叢集每秒寫入文檔的數量。 | |
表示叢集每秒執行的查詢QPS數量,查詢QPS數量與待查詢索引的主分區個數有關。 | |
表示叢集中Fielddata記憶體佔用情況,監控曲線越高,說明堆記憶體存在大量的Fielddata資料緩衝,過大的Fielddata記憶體佔用會觸發Fielddata記憶體熔斷,影響叢集穩定性。 |
索引指標
指標名稱 | 指標描述 |
表示索引每秒Bulk的請求量。 | |
表示索引每秒執行的查詢QPS數量,查詢QPS數量與待查詢索引的主分區個數有關。 | |
表示索引的查詢請求最長耗時,單位為毫秒。 |
節點資源指標
指標名稱 | 指標描述 |
表示叢集中各節點的CPU使用率百分比。當CPU使用率較高或接近100%時,會影響叢集服務。 | |
表示叢集中各節點的HeapMemory使用率百分比。當HeapMemory使用率較高或存在較大的記憶體對象時,會影響叢集服務,也會自動觸發GC操作。 | |
表示叢集中各節點的磁碟使用率百分比。建議將磁碟使用率警示閾值控制在 | |
表示節點的系統記憶體使用量率。 說明 僅雲原生新管控(v3)版本支援。 | |
表示節點的CPU IO等待百分比。 說明 僅雲原生新管控(v3)版本支援。 | |
表示叢集中各節點在 |
節點網路指標
指標名稱 | 指標描述 | 備忘 |
表示叢集中各節點每秒資料包的流入速率。監控周期:1分鐘,單位:KiB/s。 | 不涉及 | |
表示叢集中各節點每秒資料包的流出速率。監控周期:1分鐘,單位:KiB/s。 | 不涉及 | |
節點網路頻寬(KiB/s) = 節點網路頻寬_輸入(KiB/s) + 節點網路頻寬_輸出(KiB/s)。 | 僅雲原生新管控(v3)版本支援。 | |
節點網路頻寬使用率(%) = (節點網路頻寬_輸入(KiB/s) + 節點網路頻寬_輸出(KiB/s)) / 節點網路基礎頻寬(Gbit/s)。 | 僅雲原生新管控(v3)版本支援。 | |
表示叢集中各節點收到的用戶端每次發起TCP串連請求的數量。 | 不涉及 | |
表示節點的網路重傳率。 | 僅雲原生新管控(v3)版本支援。 | |
表示叢集中各節點網路流入流量包的數量。監控周期:1分鐘。 | 不涉及 | |
表示叢集中各節點網路從流量包流出的數量。監控周期:1分鐘。 | 不涉及 | |
節點網路包(count) = 節點網路包_輸出(count) + 節點網路包_輸入(count)。 | 僅雲原生新管控(v3)版本支援。 | |
節點網路包使用率(%) = (節點網路包_輸出(count) + 節點網路包_輸入(count)) / 節點網路收發包PPS。 | 不涉及 |
節點磁碟指標
指標名稱 | 指標描述 | 備忘 |
表示每秒從叢集中各節點讀取的資料量。 | 不涉及 | |
表示每秒向叢集中各節點寫入的資料量。 | 不涉及 | |
磁碟頻寬(MB/s) = 磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)。 | 僅雲原生新管控(v3)版本支援。 | |
磁碟頻寬使用率_雲端硬碟(%) = (磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)) / (ESSD)單盤輸送量(MB/s)。 | 僅雲原生新管控(v3)版本支援。ESSD單盤輸送量,請參見ESSD介紹。 | |
磁碟頻寬使用率_節點(%) = (磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)) / 節點雲端硬碟基礎頻寬(Gbit/s)。 | 僅雲原生新管控(v3)版本支援。 | |
表示叢集中各節點的IO使用率達到多少百分比。 | 不涉及 | |
表示叢集中各節點每秒完成的讀請求數量。 | 不涉及 | |
表示叢集中各節點每秒完成的寫請求數量。 | 不涉及 | |
磁碟IOPS(count) = 磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)。 | 僅雲原生新管控(v3)版本支援。 | |
磁碟IOPS使用率_雲端硬碟(%) = (磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)) /(ESSD)單盤IOPS。 | 僅雲原生新管控(v3)版本支援。ESSD單盤輸送量,請參見ESSD介紹。 | |
磁碟IOPS使用率_節點(%) = (磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)) /節點雲端硬碟基礎IOPS。 | 僅雲原生新管控(v3)版本支援。 | |
表示平均請求隊列的長度。 | 不涉及 |
節點JVM指標
指標名稱 | 指標描述 |
表示叢集中各節點堆記憶體Old區的使用大小。當Old區佔用較高或存在較大的記憶體對象,會影響叢集服務,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。 | |
表示叢集中 | |
表示叢集中各個節點Old區的GC回收數量,當Old區佔用較高或存在較大的記憶體對象,會影響叢集服務,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。 | |
表示叢集中各個節點Old區GC回收平均耗時,當Old區佔用較高或存在較大的記憶體對象,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。 |
線程池指標
指標名稱 | 指標描述 |
表示叢集中查詢線程池當前正在執行任務的線程數量。 | |
表示叢集內查詢線程池中被拒絕的請求數量。 |
其他指標
指標名稱 | 指標描述 |
表示叢集的主日誌中,一分鐘內出現的警告層級日誌的總個數。 |
廢棄指標
指標名稱 | 指標描述 |
表示查詢線程池中被拒絕的請求數。該指標與查詢線程池中被拒絕的請求數(新版)(count)指標的計算方式存在差異,當前已廢棄,後續請使用查詢線程池中被拒絕的請求數(新版)(count)。 |
叢集狀態(value)
指標含義
該指標展示了叢集的健康度,數值為0.00時表示正常。此監控指標必須配置,配置方法請參見配置叢集警示。指標各數值的含義如下。
數值 | 顏色 | 狀態 | 說明 |
0.00 | 綠色 | 所有主分區和副本分區都可用。 | 表示該叢集中的所有索引都很健康,不存在丟失(unassigned)的分區。 |
1.00 | 黃色 | 所有主分區可用,但不是所有副本分區都可用。 | 表示該叢集中某個或某幾個索引的副本分區丟失(unassigned)。 |
2.00 | 紅色 | 不是所有的主分區都可用。 | 表示該叢集中某個或某幾個索引的主分區丟失(unassigned)。 |
表中的顏色是指在執行個體的基本資料頁面所看到的叢集狀態的顏色。
指標異常原因
監控期間,當指標數值不為0.00時,表示叢集狀態異常,常見原因如下:
節點的CPU或HeapMemory使用率過高,甚至達到100%。
節點的磁碟使用率過高,例如超過85%,甚至達到100%。
節點的Load_1m負載過高。
叢集中索引的健康度出現過非健康(非綠色)狀態。
異常處理建議
在Kibana控制台的Monitoring頁面查看監控資訊,或者查看執行個體的日誌,擷取問題的具體資訊,並排查解決(例如索引佔用記憶體太大,可刪除一些索引)。
對於磁碟使用率過高導致叢集異常的情況,建議參見叢集磁碟使用率過高和read_only問題的排查與處理方法排查解決。
對於1核2 GB規格的執行個體,遇到執行個體狀態不正常的問題時,建議先按照1:4(CPU:Mem)的規格升配叢集,增大執行個體規格。升配後,如果狀態依然異常,建議參見以上兩種方案排查解決。
快照狀態(value)
指標異常原因
指標數值為2時,服務異常,常見原因如下:
節點磁碟使用率很高或接近100%。
叢集不健康。
叢集內節點總數(count)
該指標表示叢集內的節點總數,用於監控節點規模是否符合預期。
叢集內失聯節點總數(count)
該指標表示叢集內的失聯節點總數。失聯節點可能導致分區重新分配或查詢延遲。
叢集索引數量(count)
該指標表示叢集的索引數量。索引過多可能會導致搶佔資源(例如,記憶體、CPU)。
叢集分區數量(count)
該指標表示叢集的分區數量。分區過多會增加管理成本(例如,中繼資料操作);分區過少可能會影響查詢效能(例如,負載不均)。
叢集主分區數量(count)
該指標表示叢集的主分區數量,主分區不足可能導致寫入瓶頸。
叢集慢查詢條數(count)
該指標表示叢集的慢查詢條數,可用於定位效能瓶頸(例如,複雜查詢、索引設計問題)。
叢集寫入QPS(count/s)
如果寫入QPS流量突增,可能引起CPU使用率、HeapMemory使用率或load_1m負載過高,影響叢集服務,請盡量避免這種情況。
該指標展示了叢集每秒寫入文檔的數量。具體說明如下:
如果1秒內,用戶端向叢集發送了1個只包含單個文檔的寫入請求,則對應1個寫入QPS。如果1秒內發送了多個寫入請求,則累加統計。
如果1秒內,通過_bulk API在一個寫入請求中批量寫入了多個文檔,則寫入QPS參考該請求中批量推送的總文檔個數。如果1秒內發送了多個_bulk API批量寫入請求,則累加統計。
叢集查詢QPS(count/s)
如果查詢QPS流量突增,可能引起CPU使用率、HeapMemory使用率或load_1m負載過高,影響叢集服務,請盡量避免這種情況。
該指標展示了叢集每秒執行的查詢QPS數量,查詢QPS數量與待查詢索引的主分區個數有關。
例如:待查詢索引有5個主分區,則一次查詢請求對應5個QPS。
叢集慢查詢耗時分布
指標含義
該指標基於慢日誌中index.search.slowlog.query和index.search.slowlog.fetch的日誌,依據其耗時時間(took_millis)進行彙總,然後以1秒為間隔視窗(0~1s,1~2s,最多到10s)進行分布展示。使用者可自行配置慢日誌的閾值,相關的參數可以參考索引模板配置的index.search.slowlog.threshold.xxx參數。
指標異常原因
監控期間,當區間慢查詢耗時,查詢數量增大時,服務異常,常見原因如下:
指標異常原因 | 說明 |
QPS | 查詢QPS或寫入QPS流量突增或波動較大,叢集壓力大,相對單條查詢耗時久。 |
有agg查詢或者有指令碼查詢 | 彙總查詢情境,需要耗用大量的計算資源做資料彙總,尤其是記憶體,在使用時請注意。 |
term查詢數值欄位 | 大批量的數值型byte、short、integer、long欄位做term查詢時,在構造docid集合的bitset很耗時,會影響查詢速度。如果該數值欄位沒有range和agg彙總需求,建議改為keyword類型欄位。 |
模糊比對 | 萬用字元和Regex、模糊查詢,需要遍曆倒排索引中的詞條列表來找到所有的匹配詞條,進而逐個詞條地收集對應的文檔ID。尤其在未壓測的前提下,大批量的查詢,會耗用大量的計算資源,建議使用前結合情境壓測,選擇合適的量級。 |
存在個別慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較小或不明顯,可在Elasticsearch控制台中的查詢日誌頁面,單擊searching慢日誌查看分析。 |
叢集中存在大量索引或總分區數量非常多 | 由於Elasticsearch會監控叢集中的索引並寫入日誌,因此當總索引或總分區數量過多時,容易引起CPU或HeapMemory使用率過高,或load_1m負載過高,影響整個叢集查詢速度。 |
在叢集上執行過Merge操作 | Merge操作會消耗CPU資源,對應節點的Segment Count會突降,可在Kibana控制台中節點的Overview頁面查看。 |
執行過gc操作 | gc操作會嘗試釋放記憶體(例如full gc),消耗CPU資源,可能會導致CPU使用率突增,影響查詢速度。 |
執行過定時任務 | 資料備份或其他自訂任務,需要佔用大量的IO資源,影響查詢速度。 |
叢集Fielddata記憶體使用量(B)
指標含義
該指標展示了叢集中Fielddata記憶體佔用情況,監控曲線越高,說明堆記憶體存在大量的Fielddata資料緩衝,過大的Fielddata記憶體佔用會觸發Fielddata記憶體熔斷,影響叢集穩定性。
指標異常原因
監控期間,當指標佔用大量的堆記憶體時,可能會出現服務異常,常見原因如下:
查詢中存在大量對字串(Text)欄位做排序或者彙總的操作,該類查詢Fielddata預設不會被回收,建議使用數值型欄位類型。
查詢QPS或寫入QPS流量突增或波動較大,Fielddata資料頻繁地進行緩衝。
叢集中存在大量索引或總分區數量非常多。由於Elasticsearch會監控叢集中的索引並寫入日誌,因此當總索引或總分區個數過多時,容易引起CPU或HeapMemory使用率過高,或Load_1m負載過高。
索引Bulk寫入TPS(count/s)
指標含義
該指標展示了索引每秒Bulk的請求量。
指標異常原因
監控期間,該指標可能存在沒資料,常見原因如下:
叢集壓力大,影響叢集監控資料的正常採集。
監控資料未成功推送。
索引查詢QPS(count/s)
指標含義
該指標展示了索引每秒執行的查詢QPS數量,查詢QPS數量與待查詢索引的主分區個數有關。
例如:待查詢索引有5個主分區,則一次查詢請求對應5個QPS。
指標異常原因
監控期間,該指標可能存在沒資料,常見原因如下:
叢集壓力大,影響叢集監控資料的正常採集。
監控資料未成功推送。
索引查詢QPS流量突增,可能就是該索引引起了叢集CPU使用率、HeapMemory使用率或Load_1m負載過高,影響整個叢集服務,可以針對該索引進行最佳化。
索引端到端查詢延遲_max(ms)
該指標表示索引的查詢請求最長耗時,單位為毫秒。
節點CPU使用率_ES業務(%)
指標含義
該指標展示了叢集中各節點的CPU使用率百分比。當CPU使用率較高或接近100%時,會影響叢集服務。
指標異常原因
監控期間,當指標數值突增或波動較大時,服務異常,常見原因如下:
指標異常原因 | 說明 |
QPS | 查詢QPS或寫入QPS流量突增或波動較大。 |
存在個別慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較小或不明顯,可在Elasticsearch控制台中的日誌查詢頁面,單擊searching慢日誌查看分析。 |
叢集中存在大量索引或總分區數量非常多 | 由於Elasticsearch會監控叢集中的索引並寫入日誌,因此當總索引或總分區數量過多時,容易引起CPU或HeapMemory使用率過高,或Load_1m負載過高。 |
在叢集上執行過Merge操作 | Merge操作會消耗CPU資源,對應節點的Segment Count會突降,可在Kibana控制台中節點的Overview頁面查看。 |
執行過GC操作 | GC操作會嘗試釋放記憶體(例如full gc),消耗CPU資源。可能會導致CPU使用率突增。 |
執行過定時任務 | 資料備份或其他自訂任務。 |
節點CPU使用率不僅包含了Elasticsearch系統層級的資源的佔用情況,也包含了Elasticsearch任務的資源佔用情況。
節點磁碟使用率(%)
該指標展示了叢集中各節點的磁碟使用率百分比。建議將磁碟使用率警示閾值控制在75%以下,不要超過85%。否則預設資料節點的磁碟使用率可能會出現以下情況,影響叢集服務。
節點磁碟使用率 | 說明 |
>85% | 新的Shard無法分配。 |
>90% | 叢集會嘗試將節點中的Shard,遷移到其他磁碟使用率較低的資料節點中。 |
>95% | Elasticsearch會為叢集中的每個索引強制設定 |
強烈建議您配置該監控指標,以便在發生警示時,及時擴容磁碟和節點或清理索引資料等,避免影響叢集服務。
節點磁碟使用率不僅包含了Elasticsearch系統層級的資源的佔用情況,也包含了Elasticsearch任務的資源佔用情況。
節點堆記憶體使用量率_ES業務(%)
指標含義
該指標展示了叢集中各節點的HeapMemory使用率百分比。當HeapMemory使用率較高或存在較大的記憶體對象時,會影響叢集服務,也會自動觸發GC操作。
指標異常原因
監控期間,當指標數值突增或波動較大時,服務異常,常見原因如下:
指標異常原因 | 說明 |
QPS | 查詢QPS或寫入QPS流量突增或波動較大。 |
存在個別慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較小或不明顯,可在Elasticsearch控制台中的日誌查詢頁面,單擊Searching慢日誌查看分析。 |
存在大量慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較大或很明顯,可在Elasticsearch控制台中的日誌查詢頁面,單擊Indexing慢日誌查看分析。 |
叢集中存在大量索引或總分區數量非常多 | 由於Elasticsearch會監控叢集中的索引並寫入日誌,因此當總索引或總分區數量過多時,容易引起CPU或HeapMemory使用率過高,或Load_1m負載過高。 |
在叢集上執行過Merge操作 | Merge操作會消耗CPU資源,對應節點的Segment Count會突降,可在Kibana控制台中節點的Overview頁面查看。 |
執行過GC操作 | GC操作會嘗試釋放記憶體(例如,Full GC),消耗CPU資源。可能會導致HeapMemory使用率突降。 |
執行過定時任務 | 資料備份或其他自訂任務。 |
節點Load_1m(value)
指標含義
該指標展示了叢集中各節點在1分鐘內的負載情況,表示各節點的系統繁忙程度。該指標的正常數值,應該低於對應節點規格的CPU核心數。以單核的Elasticsearch節點為例,指標各數值的含義如下。
節點Load_1m | 說明 |
<1 | 沒有等待的進程。 |
=1 | 系統無額外的資源運行更多的進程。 |
>1 | 進程擁堵,等待資源。 |
節點Load_1m指標不僅包含了Elasticsearch系統層級的資源的佔用情況,也包含了Elasticsearch任務的資源佔用情況。
節點Load_1m指標出現波動可能是正常情況,建議您重點關注節點CPU使用率指標進行分析。
指標異常原因
監控期間,當指標數值超過節點規格的CPU核心數時,服務異常,常見原因如下:
節點的CPU或HeapMemory使用率過高,甚至達到100%。
查詢QPS或寫入QPS流量突增或上漲較大。
存在耗時較大的慢查詢。
可在Elasticsearch控制台中的日誌查詢頁面,開啟對應日誌查看分析。
節點Load_1m不僅包含了Elasticsearch系統層級的資源的佔用情況,也包含了Elasticsearch任務的資源佔用情況。
節點記憶體使用量率_總(%)
該指標展示了節點的系統記憶體使用量率。
節點CPU IO等待百分比(%)
該指標展示了節點的CPU IO等待百分比。
節點網路包_輸入(count)
該指標展示了叢集中各節點網路流入流量包的數量。監控周期:1分鐘。
節點網路包_輸出(count)
該指標展示了叢集中各節點網路從流量包流出的數量。監控周期:1分鐘。
節點網路頻寬_輸入(KiB/s)
該指標展示了叢集中各節點每秒資料包的流入速率。監控周期:1分鐘,單位:KB/s。
節點網路頻寬_輸出(KiB/s)
該指標展示了叢集中各節點每秒資料包的流出速率。監控周期:1分鐘,單位:KB/s。
節點TCP連結數(count)
指標含義
該指標展示了叢集中各節點收到的用戶端每次發起TCP串連請求的數量。
指標異常原因
監控期間,當指標數值突增或波動較大時,服務異常,常見原因為:用戶端發起TCP串連長時間未釋放,導致節點TCP串連數量突增。建議用戶端設定相關策略進行釋放。
IOUtil(%)
指標含義
該指標展示了叢集中各節點的IO使用率達到多少百分比。
指標異常原因
監控期間,當指標數值突增或波動較大時,服務異常,常見原因為:磁碟使用率過高,讀取和寫入資料的平均等待時間過長,導致IO使用率突增,甚至達到100%。建議您根據叢集具體情況,並結合其他指標資料進行處理,例如進行叢集升配等。
節點網路重傳率(%)
該指標展示了節點的網路重傳率。
節點網路頻寬(KiB/s)
節點網路頻寬(KiB/s) = 節點網路頻寬_輸入(KiB/s) + 節點網路頻寬_輸出(KiB/s)。
節點網路頻寬使用率(%)
節點網路頻寬使用率(%)=(節點網路頻寬_輸入(KiB/s) + 節點網路頻寬_輸出(KiB/s) / 節點網路基礎頻寬(Gbit/s)。
節點網路包(count)
節點網路包(count) = 節點網路包_輸出(count) + 節點網路包_輸入(count)。
節點網路包使用率(%)
節點網路包使用率(%) = (節點網路包_輸出(count) + 節點網路包_輸入(count)) / 網路收發包PPS。
磁碟頻寬_讀(MiB/s)
指標展示了每秒從叢集中各節點讀取的資料量。
磁碟頻寬_寫(MiB/s)
指標展示了每秒向叢集中各節點寫入的資料量。
磁碟IOPS_讀(count)
指標展示了叢集中各節點每秒完成的讀請求數量。
磁碟IOPS_寫(count)
指標展示了叢集中各節點每秒完成的寫請求數量。
平均請求隊列的長度
指標展示了平均請求隊列的長度。
磁碟頻寬(MiB/s)
磁碟頻寬(MiB/s) = 磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)。
磁碟頻寬使用率_雲端硬碟(%)
磁碟頻寬使用率_雲端硬碟(%) =(磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)) / 單盤輸送量效能計算公式(MB/s)。
磁碟頻寬使用率_節點(%)
磁碟頻寬使用率_節點(%) = (磁碟頻寬_讀(MiB/s) + 磁碟頻寬_寫(MiB/s)) / 雲端硬碟基礎頻寬(Gbit/s)。
磁碟IOPS(count)
磁碟IOPS(count) = 磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)。
磁碟IOPS使用率_雲端硬碟(%)
磁碟IOPS使用率_雲端硬碟(%) = (磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)) / 單盤IOPS效能計算公式。
磁碟IOPS使用率_節點(%)
磁碟IOPS使用率_節點(%) = (磁碟IOPS_讀(count) + 磁碟IOPS_寫(count)) / 雲端硬碟基礎IOPS。
節點Old區使用(B)
指標含義
該指標展示了叢集中各節點堆記憶體Old區的使用大小。當Old區佔用較高或存在較大的記憶體對象,會影響叢集服務,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。
指標異常原因
監控期間,當指標數值突增或波動較大時,服務異常,常見原因如下:
指標異常原因 | 說明 |
QPS | 查詢QPS或寫入QPS流量突增或波動較大。 |
有agg查詢或者有指令碼查詢 | 彙總查詢情境,需要耗用大量的計算資源做資料彙總,尤其是記憶體,在使用時請注意。 |
term查詢數值欄位 | 大批量的數值型byte、short、integer、long欄位做term查詢時,在構造docid集合的bitset很費時,會影響查詢速度。如果該數值欄位沒有range和agg彙總需求,建議改為keyword類型欄位。 |
模糊比對 | 萬用字元和Regex、模糊查詢,需要遍曆倒排索引中的詞條列表來找到所有的匹配詞條,進而逐個詞條地收集對應的文檔ID。尤其在未壓測的前提下,大批量的查詢,會耗用大量的計算資源,建議使用前結合情境壓測,選擇合適的量級。 |
存在個別慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較小或不明顯,可在Elasticsearch控制台中的查詢日誌頁面,單擊searching慢日誌查看分析。 |
存在大量慢查詢或慢寫入請求 | 此情況下,查詢和寫入QPS流量波動較小或不明顯,可在Elasticsearch控制台中的查詢日誌頁面,單擊indexing慢日誌查看分析。 |
叢集中存在大量索引或總分區數量非常多 | 由於Elasticsearch會監控叢集中的索引並寫入日誌,因此當總索引或總分區數量過多時,容易引起CPU或HeapMemory使用率過高,或load_1m負載過高。 |
在叢集上執行過Merge操作 | Merge操作會消耗CPU資源,對應節點的Segment Count會突降,可在Kibana控制台中節點的Overview頁面查看。 |
執行過GC操作 | GC操作會嘗試釋放記憶體(例如,Full GC),消耗CPU資源,可能會導致HeapMemory使用率突降。 |
執行過定時任務 | 資料備份或其他自訂任務。 |
FullGc次數(count)
當系統出現頻繁Full GC 時,會影響叢集服務。
指標含義
該指標展示了叢集中1分鐘內的GC總次數。
指標異常原因
監控期間,當指標數值不為0時,服務異常,常見原因如下:
HeapMemory使用率較高。
存在較大的記憶體對象。
節點Old GC頻次(count)
指標含義
該指標表示叢集中各個節點Old區GC回收數量,當Old區佔用較高或存在較大的記憶體對象,會影響叢集服務,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。
基礎監控指標Full GC通過日誌擷取,進階監控中記憶體指標依賴ES引擎採集,兩者擷取方式及應用存在差異,建議結合所有指標綜合判斷叢集效能。
指標異常原因
請參見節點Old區使用(B)的指標異常原因。
節點Old GC耗時(ms)
指標含義
該指標表示叢集中各個節點Old區GC回收平均耗時,當Old區佔用較高或存在較大的記憶體對象,會自動觸發GC操作,大對象回收可能會出現GC耗時較長或Full GC。
指標異常原因
請參見節點Old區使用(B)的指標異常原因。
查詢線程池運行線程數(count)
表示叢集中查詢線程池當前正在執行任務的線程數量。
查詢線程池中被拒絕的請求數(count)
表示叢集內查詢線程池中被拒絕的請求數量。該指標當前已廢棄,建議使用查詢線程池中被拒絕的請求數(新版)(count)。
查詢線程池中被拒絕的請求數(新版)(count)
表示叢集內查詢線程池中被拒絕的請求數量。當線程池中所有線程都在處理任務,且任務隊列已滿時,新的查詢請求會被拒絕並拋出異常。
Exception次數(count)
指標含義
該指標展示了叢集的主日誌中,一分鐘內出現的警告層級日誌的總個數。
指標異常原因
監控期間,當指標數值不為0時,服務異常,常見原因如下:
查詢請求可能存在異常。
寫入請求可能存在異常。
Elasticsearch執行任務時,遇到異常。
執行過GC操作。
異常處理建議
可在Elasticsearch控制台中的日誌查詢頁面,單擊主日誌。在主日誌頁面,根據時間點查看詳細異常資訊,並分析異常原因。
如果主日誌中有GC記錄,也會在Exception次數監控指標中統計展示。