告警規則指標說明
更新時間 2024-09-09 10:31:39
最近更新時間: 2024-09-09 10:31:39
分享文章
本文介紹APM應用監控告警規則中各類型的指標說明,所有告警指標的最小時間顆粒度為1分鐘。
異常接口調用
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| 應用異常調用次數 | 無 | 是 | 在軟件系統運行過程中發生的應用異常調用次數。 |
| 應用異常調用響應時間 | 毫秒 | 是 | 該應用異常調用的響應時間,其中,異常調用指調用中出現異常拋錯的調用。可以根據該指標判斷調用堆棧拋錯對應用調用響應時間的影響大小,從而判斷是否存在應用調用異常。 |
| 應用異常接口調用次數 | 無 | 是 | 在軟件系統運行過程中發生的應用異常接口調用次數。 |
| 應用異常接口調用響應時間 | 毫秒 | 是 | 該應用異常調用的響應時間,其中,異常調用指調用中出現異常拋錯的調用。可以根據該指標判斷調用堆棧拋錯對應用調用響應時間的影響大小,從而判斷是否存在應用調用異常。 |
指標維度
接口名稱,篩選條件如下:
- 任意:遍歷每個訪問到的接口,針對每個接口的指標數據單獨進行監控告警。
- 等于 :指定篩選固定的幾個接口進行監控告警,示例:/ctyun/api/users/{userId}。
應用調用類型統計
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| 應用依賴服務調用次數 | 無 | 不是 | 該應用依賴的下游接口的調用次數,用于判斷下游依賴服務調用是否增多。 |
| 應用依賴服務調用錯誤次數 | 無 | 不是 | 該應用依賴的下游接口的錯誤次數除以總請求數,用于判斷下游依賴服務報錯是否增多,影響當前應用。 |
| 應用依賴服務調用錯誤率(%) | 無 | 不是 | 該應用依賴的下游接口的錯誤次數除以總請求數,用于判斷下游依賴服務報錯是否增多,影響當前應用。 |
| 應用依賴服務調用響應時間 | 毫秒 | 是 | 該應用依賴的下游接口的平均響應時間,用于判斷下游依賴服務耗時是否增多,影響當前應用。 |
| 應用提供服務調用次數 | 無 | 是 | 應用入口調用(包括調用HTTP入口、調用Dubbo入口等)的次數。可以根據該指標分析當前應用調用量的大小,從而判斷業務量的大小,以及通過調用量是否偏大或偏小判斷應用是否存在異常。 |
| 應用提供服務調用錯誤次數 | 無 | 是 | 應用入口調用(包括調用HTTP入口和調用Dubbo入口等)的錯誤次數,調用錯誤是指整個對外(HTTP、Dubbo)調用行為的返回狀態碼>400的情況, 或者Dubbo有異常被最上層攔截的情況,都視為錯誤。可以根據該指標判斷應用是否存在調用錯誤。 |
| 應用提供服務調用錯誤率(%) | 無 | 是 | 應用入口調用的調用錯誤次數的總和/入口的調用次數的總和*100%。 |
| 應用提供服務調用響應時間 | 毫秒 | 是 | 應用入口調用(包括調用HTTP入口、調用Dubbo入口等)的響應時間。可以根據該指標判斷是否有慢請求出現,從而判斷應用是否存在異常。 |
指標維度
接口調用類型,篩選條件如下:
- 任意:遍歷每個接口類型,針對每個類型(HTTP/MySQL/Redis等)接口的指標數據單獨進行監控告警。
- 等于:指定篩選固定的幾個接口類型進行監控告警,示例:http。
數據庫指標
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| 數據庫調用次數 | 無 | 是 | 應用程序在執行過程中,向數據庫發送請求的次數。每次請求通常包含一次讀取或寫入操作。數據庫調用次數的多少直接影響了應用程序的性能和響應時間。 |
| 數據庫調用錯誤次數 | 無 | 是 | 應用程序在執行過程中,向數據庫發送請求時出現錯誤的次數。這些錯誤可能包括數據庫連接失敗、查詢語句錯誤、權限不足等。數據庫調用錯誤次數越多,說明應用程序與數據庫的交互存在問題,可能導致應用程序無法正常工作。 |
| 數據庫調用響應時間 | 毫秒 | 是 | 從應用程序發送請求到數據庫,到數據庫返回響應結果的時間。數據庫調用響應時間的快慢直接影響應用程序的性能和用戶體驗。如果響應時間過長,用戶可能會感到應用程序卡頓或無響應,降低用戶滿意度。 |
指標維度
數據庫名,篩選條件如下:
- 任意:遍歷每個數據庫,針對每個數據庫的指標數據單獨進行監控告警。
- 等于:指定篩選固定的幾個數據庫進行監控告警,示例:mysql-pod:3306(demo_db)。
JVM監控
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| JVM FullGC次數瞬時值 | 無 | 是 | 最近N分鐘JVM執行了Full GC(Full Garbage Collection)的次數。可以根據該指標判斷應用是否過于頻繁發生FullGC,從而判斷應用是否存在異常。 |
| JVM FullGC耗時瞬時值 | 毫秒 | 不是 | 最近N分鐘JVM執行了Full GC(Full Garbage Collection)所花費的時間。Full GC耗時的瞬時值可以反映出當前JVM的垃圾回收性能,通常情況下,Full GC耗時越短,JVM的性能越好。如果Full GC耗時過長,可能會導致應用程序出現明顯的停頓,從而影響用戶體驗。 |
| JVM YoungGC次數瞬時值 | 無 | 是 | 最近N分鐘JVM執行Young GC(Young Generation Garbage Collection)的次數。Young GC次數的瞬時值可以反映出當前JVM中對象的創建和銷毀速度,以及Young Generation的使用情況。通常情況下,Young GC次數越多,表示應用程序中創建的對象越多,同時也可能意味著應用程序可能存在一些內存泄漏或者不合理的內存使用方式。 |
| JVM YoungGC耗時瞬時值 | 毫秒 | 不是 | 最近N分鐘JVM執行Young GC(Young Generation Garbage Collection)所花費的時間。Young GC耗時的瞬時值可以反映出當前JVM中垃圾回收的效率和性能狀況。通常情況下,Young GC耗時越長,表示垃圾回收的效率越低,可能會導致應用程序出現卡頓或者停頓。 |
| JVM堆內使用內存量 | M | 是 | JVM堆內存中已經被Java程序使用的內存大小。JVM堆內使用內存量應該被嚴格控制,避免因為內存泄漏或者過多的內存占用導致系統性能下降或者內存溢出等問題。 |
| JVM非堆使用內存量 | M | 是 | 非堆內存總使用量包括了元空間和永久代的使用量。 |
| JVM阻塞線程數 | 無 | 不是 | 被阻塞等待監視器鎖的線程數量,過多的阻塞線程會導致系統性能下降。 |
| JVM線程總數 | 無 | 是 | 所有狀態的線程數量。線程數量過多可能會導致內存和CPU資源不足,從而影響應用的性能和穩定性。 |
| JVM死鎖線程數 | 無 | 不是 | 兩個或多個線程互相等待對方釋放資源而無法繼續執行的情況。當JVM中出現死鎖時,死鎖線程數會隨著死鎖的發生而增加,直到達到死鎖狀態。通常,死鎖線程數越多,死鎖的影響越嚴重,在極端情況下甚至會導致應用程序的崩潰。 |
| JVM可運行線程數 | 無 | 不是 | JVM在運行時支持的最大線程數量。如果創建線程數量過多,會占用大量的內存資源,導致系統變慢或者崩潰。 |
| JVM等待線程數 | 無 | 不是 | 當前JVM中處于等待狀態的線程數量。對于高并發的應用程序來說,JVM等待線程數的增多可能會導致性能下降。 |
指標維度
- 節點IP,篩選條件如下:任意:遍歷每個節點IP,針對每臺節點機的指標數據單獨進行監控告警。
- 等于:指定篩選固定的幾臺節點進行監控告警。示例:192.10.XX.XX。
主機監控
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| 進程不存在 | 無 | 是 | 節點機上指定的Java進程不存在 |
| 節點CPU使用率(%) | 無 | 不是 | 節點機(服務器)上CPU處理器的使用率,過高的CPU使用率會導致系統響應變慢、服務不可用等問題。 |
| 節點磁盤利用率(%) | 無 | 不是 | 節點中硬盤的使用情況,即已使用的磁盤空間占總磁盤空間的比例。磁盤利用率越高,表示節點機的存儲容量越緊張。 |
| 節點內存利用率(%) | 無 | 不是 | 當前節點已經使用的內存占總內存的比例。如果節點機的內存利用率超過了80%,就需要考慮調整節點機配置或者優化任務使用內存的方式來降低內存壓力。 |
| 節點接收錯誤報文數 | 無 | 不是 | 節點在處理網絡通信時接收到的錯誤報文的數量。這些錯誤報文可能是由于網絡傳輸問題、應用程序問題或者其他原因引起的。錯誤報文可能會導致節點機無法正常處理網絡通信,從而影響系統的正常運行。 |
| 節點發送錯誤報文數 | 無 | 不是 | 節點在處理網絡通信時發送了錯誤報文的數量。這些錯誤報文可能是由于網絡傳輸問題、應用程序問題或者其他原因引起的。可以根據該指標判斷節點機網絡是否異常。 |
| JVM實例數 | 無 | 是 | 當前實時運行的Java虛擬機實例數量,常用于服務宕機告警配置。 |
| 節點發送的字節數 | 無 | 不是 | 節點通過網絡連接發送的數據量,其中包括應用程序發送的數據、系統消息和錯誤信息等。 |
| 節點發送的報文數 | 無 | 不是 | 節點通過網絡連接發送的消息的數量。 |
| 節點接收的字節數 | 無 | 不是 | 節點通過網絡連接接收的數據的總量。 |
| 節點接收的報文數 | 無 | 不是 | 節點通過網絡連接接收到的報文的數量。 |
指標維度
- 節點IP,篩選條件如下:遍歷:遍歷每個節點機IP,針對每臺節點機的指標數據單獨進行監控告警。
- 等于:指定篩選固定的幾臺節點機進行監控告警。示例:=192.10.XX.XX。
應用調用統計
指標說明
| 指標名稱 | 單位 | 是否為常用指標 | 指標說明 |
|---|---|---|---|
| 調用次數 | 無 | 是 | 應用入口調用(包括調用HTTP入口、調用Dubbo入口等)的次數。可以根據該指標分析當前應用調用量的大小,從而判斷業務量的大小,以及通過調用量是否偏大或偏小判斷應用是否存在異常。 |
| 調用錯誤次數 | 無 | 是 | 應用入口調用(包括調用HTTP入口和調用Dubbo入口等)的錯誤次數,調用錯誤是指整個對外(HTTP、Dubbo)調用行為的返回狀態碼>400的情況, 或者Dubbo有異常被最上層攔截的情況,都視為錯誤。可以根據該指標判斷應用是否存在調用錯誤。 |
| 調用錯誤率(%) | 無 | 是 | 應用入口調用的調用錯誤次數的總和/入口的調用次數的總和*100%。 |
| 調用平均響應時間 | 毫秒 | 是 | 應用入口調用(包括調用HTTP入口、調用Dubbo入口等)的平均響應時間。 |
| HTTP調用次數 | 無 | 不是 | HTTP調用的次數。可以根據該指標分析當前應用調用量的大小,從而判斷業務量的大小,以及通過調用量是否偏大或偏小判斷應用是否存在異常。 |
| HTTP調用響應時間 | 無 | 不是 | HTTP調用的響應時間。 |
指標維度
接口名稱,篩選條件如下:
- 任意:遍歷每個訪問到的接口,針對每個接口的指標數據單獨進行監控告警。
- 等于 :指定篩選固定的幾個接口進行監控告警,示例:/ctyun/api/users/{userId}。
HTTP狀態碼異常
指標說明
| 指標名稱 | 是否為常用指標 | 指標說明 |
|---|---|---|
| HTTP接口狀態碼4xx次數 | 是 | 客戶端向服務器發送請求時,服務器返回的標準響應狀態碼為4xx的次數,例如請求的資源不存在、缺少必要的參數等,常見的4xx狀態碼有400和404。 |
| HTTP接口狀態碼5xx次數 | 是 | 客戶端向服務器發送請求時,服務器返回的標準響應狀態碼為5xx的次數,例如服務器內部錯誤、系統繁忙等,常見的5xx狀態碼有500和503。 |
| HTTP接口狀態碼4xx調用次數 | 是 | 客戶端向服務器發送請求時,服務器返回的標準響應狀態碼為4xx的調用次數,例如請求的資源不存在、缺少必要的參數等,常見的4xx狀態碼有400和404。 |
| HTTP接口狀態碼5xx調用次數 | 是 | 客戶端向服務器發送請求時,服務器返回的標準響應狀態碼為5xx的調用次數,例如服務器內部錯誤、系統繁忙等,常見的5xx狀態碼有500和503。 |
指標維度
接口名稱,篩選條件如下:
- 任意:遍歷每個訪問到的接口,針對每個接口的指標數據單獨進行監控告警。
- 等于:指定篩選固定的幾個接口進行監控告警,示例:/ctyun/api/users/{userId}。