全部產品
Search
文件中心

Application Real-Time Monitoring Service:自訂可觀測頁面

更新時間:Aug 16, 2025

ARMS控制台全面擁抱開源,針對高定製需求情境(例如自訂可觀測大盤),本文提供了一份基於Grafana + Prometheus的解決方案案例,以及如何自訂查詢語句用於擷取資料的樣本。

背景資訊

阿里雲可觀測監控 Prometheus 版預設整合了ARMS應用監控資料來源,您可以直接在可觀測監控 Prometheus 版下擷取應用監控相關資料、查看應用監控預置大盤,並根據需求進行二次開發。

前提條件

ARMS應用監控服務會根據地區自動建立免費的阿里雲Prometheus執行個體,如下圖所示應用監控杭州對應的所有資料指標都會存入Prometheus監控杭州地區下的arms_metrics_cn-hangzhou_cloud_hangzhou執行個體中。

使用情境

  • 需要基於ARMS應用監控的資料指標重新繪製資料大盤。

  • 在日常營運工作中,通過將ARMS應用監控的資料指標與其他資料來源特定組件的資料指標相結合,繪製專屬資料大盤。

  • 在網站流量峰值來臨前期,通過將ARMS應用監控的資料指標與其他資料來源的上下遊組件的指標相結合,繪製特定情境下資料大盤。

  • 在自建Grafana上展示通過Prometheus監控擷取的ARMS應用監控資料。

  • 對Prometheus監控中擷取的ARMS應用監控資料進行二次開發。

前提條件

  • 已為應用安裝探針,具體操作,請參見應用監控接入概述

  • 已在本地成功安裝Grafana軟體或者已建立阿里雲Managed Service for Grafana工作區

自訂可視化大盤

步驟一:在Grafana中添加應用監控資料來源

由於阿里雲可觀測監控 Prometheus 版預設整合了應用監控資料來源,此處只需在Grafana中添加可觀測監控 Prometheus 版下應用監控對應執行個體的資料來源。

在自建Grafana中添加資料來源

  1. 擷取Prometheus HTTP API。

    1. ARMS控制台Prometheus監控 > 執行個體列表頁面頂部功能表列選擇應用接入的地區。

      執行個體類型為Prometheus for 應用監控的執行個體即為預設整合的應用監控執行個體。

      2024-10-29_11-56-55

    2. 單擊應用監控執行個體名稱,然後單擊左側導覽列的設定,查看HTTP API地址。

      2024-10-29_11-59-24

    3. (可選)如果您需要提高Grafana資料讀取的安全性,可以單擊產生token,擷取Prometheus執行個體的鑒權Token。

      重要

      產生Token後,在Grafana中添加資料來源時必須配置Token,否則無法讀取Prometheus的監控資料。

  2. 在Grafana中添加Prometheus資料來源。

    此處以10.x版本Grafana為例,其他版本Grafana添加資料來源的操作請參見Grafana官方文檔

    1. 以管理員帳號登入自建Grafana。

    2. 單擊頁面左上方的image表徵圖,然後選擇管理 > 資料來源

    3. 單擊+ Add new data source,然後選擇資料來源類型為Prometheus

    4. Settings頁簽的Name欄位中輸入自訂的名稱,在Prometheus server URL欄位中粘貼上一步擷取的HTTP API地址。

      image

    5. (可選)在Custom HTTP Headers地區單擊+Add header,設定Header為Authorization,設定Value為上一步擷取的鑒權Token。

      image

    6. 單擊頁簽底部的Save & Test

在可觀測可視化 Grafana 版中整合資料來源

阿里雲可觀測可視化 Grafana 版支援一鍵整合ARMS應用監控資料來源和大盤。

  1. ARMS控制台Grafana服務 > 工作區管理頁面單擊工作區ID。

  2. 工作區資訊頁面的雲端服務整合地區單擊ARMS應用監控服務,然後在對應地區的執行個體右側單擊整合

  3. 在彈出的對話方塊中單擊確認

  4. 同步完成後,單擊右側的檔案夾

  5. 在Grafana的Dashboards頁簽單擊大盤名稱可以查看應用監控預置的預設大盤。

    應用監控大盤

  6. 單擊頁面左上方的image表徵圖,然後選擇管理 > 資料來源,可以查看已添加的應用監控資料來源。

    2024-10-29_17-35-10

步驟二:配置自訂大盤

  1. 在Grafana中單擊頁面左上方的image表徵圖,然後單擊儀表板

  2. 儀表板頁面選擇建立 > 建立儀表板,在New dashboard頁面單擊添加可視化建立面板。

  3. 在彈出的Select data source對話方塊中選擇應用監控資料來源,資料來源名稱預設為arms_metrics_{regionid}_cloud

    重要

    請確認當前資料來源中已有資料。

  4. 在摺疊面板A下設定查詢指標。

    通過PromQL查詢語句設定

    Code模式下在Metrics browser右側直接輸入PromQL查詢語句。

    image.png

    ARMS控制台應用監控的監控詳情頁面單擊image表徵圖可以查看指標對應的PromQL語句。更多資訊,請參見查詢語句

    image

    更多PromQL查詢語句的使用方法,請參見Prometheus官方文檔

    通過應用監控指標設定

    Builder模式下在Metric下拉框中選擇具體的指標,例如arms_jvm_threads_count,查詢JVM線程數。應用監控支援的指標詳情,請參見應用監控指標說明

    Label filters地區選取項目具體維度標籤和標籤值。Use query

  5. 在右側地區設定面板Title,並選擇展示的圖表類型。

    說明

    同一資料指標,選擇不同的圖表類型,可以獲得不同顆粒度的資料圖表。

    image.png

  6. 設定完成後,單擊右上方的Apply

自訂查詢語句

根據ARMS控制台擷取到的Prometheus HTTP APIPromQL語句,您可以通過Shell指令碼或Java編碼進行HTTP請求,對擷取到結果資料做進一步定製處理。

例如,Prometheus HTTP API地址為https://cn-hangzhou.arms.aliyuncs.com:9443/api/v1/prometheus/7a8f8e783c66a44a0f6a1dc9a0b8f1/1277589232893727/arms-metrics-99214ff7de7d0b2d/cn-hangzhou,與PromQL按以下格式進行組合:

{{Prometheus HTTP API}}/api/v1/query_range?query={{PromQL}}&start={{startTime}}&end={{endTime}}&step={{step}}

得到如下查詢語句:

https://cn-hangzhou.arms.aliyuncs.com:9443/api/v1/prometheus/7a8f8e783c66a44a0f6a1dc9a0b8f1/1277589232893727/arms-metrics-99214ff7de7d0b2d/cn-hangzhou/api/v1/query_range?query=sum by (callType,)(sum_over_time_lorc(arms_app_requests_count_ign_destid_endpoint_ppid_prpc{pid="ckv8e2vzfj@7e393063f3fd6ad",serverIp=~".*",callKind=~"http|rpc|custom_entry|server|consumer|schedule",source="apm", }[1m]))&start=1728719399&end=1728722999&step=60s

查詢到的資料樣本:

image

常見問題

查詢是否免費?

免費

PromQL查詢是否有限流

有限流防護,但不是根據入口的QPS做的限制,不同的查詢消耗不一樣。建議盡量避免耗時高的查詢(例如查詢全部介面或者查詢30天以上範圍時間資料),入口查詢控制在50 QPS以內。如果有不可避免的持續高消耗的查詢,可以提前提交工單申請擴容。