Google-Cloud-Platform

在 Google Cloud Monitoring 中創建堆疊區域分佈百分比圖

  • July 3, 2021

我使用儲存在 Google Cloud Logs 中的基於 HTTP 響應持續時間的日誌創建了一個基於日誌的指標。我想要一張圖表,顯示第 50、95 和 99 個百分位數的堆積面積。

我已經閱讀了各種圖表上的 Google Cloud Monitoring 文件,雖然我可以將任何單個指標顯示為百分位數;我似乎無法同時堆疊所有三個百分位數。

可能的是將 3 個百分位數作為 3 個具有不同對齊方式的獨立指標添加到圖表中,這似乎適用於正常折線圖,但如果我將圖表類型更改為堆疊區域,那麼每個百分位數都會獨立於其他百分位數線對其區域進行陰影處理。

sum如果我選擇帶有或delta對齊的“熱圖”圖表並點擊“指標資源管理器”中圖表上的“隱藏熱圖”按鈕,我也可以顯示所有三行。

這是視覺化分佈百分位數的一種非常常見的方法,所以我認為它應該是可能的(可以通過編輯查詢方向以包含多個百分位數),因此感謝您的幫助。

指標詳情:

類型:分佈

篩選:logName = "projects/lv-server-1/logs/tail-logs" AND jsonPayload.httpRequest:*

單位:秒

欄位名稱:jsonPayload.duration

標籤:

  • “狀態,整數,jsonPayload.status”
  • ‘content_type, STRING,jsonPayload.resp_headers.“Content-Type”’

直方圖桶:

  • 類型:指數
  • 桶數:64
  • 指數增長因子:2.0
  • 線性刻度:0.00005

在閱讀了 Monitoring Query Language 文件後,我發現似乎是 stackoverflow 上的答案。

union_group_by允許您一次繪製多個時間序列,這將允許堆疊區域圖正常工作。我搜尋了使用範例,發現了最近發布的這個堆棧溢出文章。

本質上,您從延遲數據創建一個百分位數表,然後將其傳遞給union_group_by

fetch global::logging.googleapis.com/user/my_metrics.response_time |
{
    percentile_from 50 | add [p: "50th percentile"]
    ;
    percentile_from 90 | add [p: "90th percentile"]
    ;
    percentile_from 95 | add [p: "95th percentile"]
} |
union_group_by [p]

生成的圖形正確堆疊,但使用的插值與使用基本編輯器的百分位數對齊器時不同。不過,這些值似乎大致正確。

引用自:https://serverfault.com/questions/1067701