最終效果
最終在grafana中展示了一個服務每分鍾的延遲分布:
各個部分的含義如下:
- 1.時間的分布,從0.01秒到最多720秒
- 2.用顏色深淺代表次數。顏色越深,請求次數越多
- 3.時間軸,代表在這一分鍾里面延遲的分布情況
- 4.分布的詳情:鼠標移動到單元格,可以看見這一分鍾的這一個延遲區間里,有多少次請求
如何配置
- 輸入報表標題
- 選擇數據源
- 圖標類型選擇 Heatmap
- 輸入查詢表達式
- http_request_duration_seconds_bucket是某個prometheus客戶端上報的histgram格式的監控數據
sum(increase(http_request_duration_seconds_bucket{podname="$container",instance="$instance"}[1m])) by (le)
- 左側的數據軸顯示的內容為le這個字段(其實就是延遲的分段,秒為單位):
{{le}}
- 注意,讓這個軸使用數值類型,因此不要加其他內容
- 時間的間隔范圍為60s
- Y軸的單位為short(整數)數據類型
- 小數點位數為兩位
- Y軸的數值按照下方對齊(lower)
- 如果選擇了 Reverse Order,則建議選擇上方對齊(upper)
- 數據類型選擇"time series buckets"
- 應該和上面類似,必須選擇為“heatmap”
- 選擇色彩模式(我覺得 opacity 這個更能體現量小的單元格)
- 勾選"show legend"
- 勾選"hide zero"
- 勾選"show tips"
have fun 😃