開發與維運

阿里雲上監控知多少(下)

“可監控、可灰度、可回滾” 據說是阿里集團內部有關係統穩定性的“三板斧”,作為第一步的“可監控”自然是所有業務條線的一項“剛需”,那麼到底如何實現“可監控”就讓我們從阿里雲的現有監控服務產品中來一窺究竟吧。

阿里雲目前有兩大監控服務體系,一個是偏向於雲基礎架構側的“雲監控”、一個是偏向於應用側的“應用實時監控”,上一次我們介紹了雲監控,這次我們再來了解一下應用實時監控這個體系。

應用實時監控又稱ARMS是阿里雲一個偏向應用層監控的產品家族,其中第一部分是應用服務監控,這個產品說白了就是一款APM應用性能管理(Application Performance Management)產品,這個市場裡的產品過去主要面向的都是一些線下IDC的應用場景,雖然後來也出現了一些SaaS化的APM產品,但總體上面向的客戶群還是以非互聯網客戶為主,而阿里雲的這款APM是從阿里巴巴內部電商等業務裡孵化出來的,因此天然具備的是互聯網的基因,隨後在很多的傳統企業互聯網轉型項目中被大量的採用,只要是中臺相關的項目建設,ARMS都是繞不過去的產品,由於之前對應用監控這塊兒有過探討,所以這次對於這個產品的細節我這裡就不過多介紹了。

除了APM,ARMS還有前端監控這一部分的功能,通過在WEB或者小程序的前端代碼中嵌入ARMS的埋點代碼,就能對應用的前端運行狀態進行掌控,監控的狀態包括前端頁面的打開和運行速度、運行過程中自身及API的出錯等情況。

用戶使用ARMS前端監控主要能夠獲得如下好處:

  • 及時的獲知用戶在本站點遇到的JS錯誤信息。
  • 及時獲知應用對外部調用的成功率等信息。
  • 及時獲知前端頁面在全球各地的打開速度。

前端監控主要是被動的接收用戶訪問頁面之後監控數據,假如客戶希望更主動的改善用戶的使用體驗就引出了ARMS產品家族的另一個服務“雲撥測”,這個雲撥測有些類似於雲監控的站點監控,都是利用阿里雲遍佈全球的探測站點對目標網站或服務的可用性進行“主動”的探測的服務。

相對於雲監控中的站點監控,ARMS體系中的雲撥測更加偏向於對應用服務返回的WEB元素進行更細粒度的探測和匹配,說白了就是雲撥測能夠創建對目標站點進行定時“瀏覽”的任務,在此期間對於頁面的元素級錯誤進行及時的預警以改善用戶體驗。

最後一個ARMS家族的成員來自開源的監控體系,正是當下正炙手可熱的Prometheus監控服務。使用ARMS Prometheus完全兼容開源Prometheus的客戶端和查詢語言(PromSQL),而不需要自行構建和運維Prometheus的各種後臺服務,直接開箱使用即可,目前ARMS Prometheus 既支持對自建或者雲上的K8S集群進行監控接入,又支持通過豐富的開源Exporter組件接入到ECS服務器中的MySQL、Redis、MongoDB、ElasticSearch、RocketMQ、Ngnix、ZooKeeper等中間件服務,隨著Prometheus相關生態的日益繁盛,未來將會有更多的中間件服務以Exporter的方式接入到Prometheus體系中,這樣一來通過ARMS的Prometheus服務就能完整的實現對在ECS上自建的各類應用中間件的監控,可以說ARMS Prometheus補上了阿里雲上監控的最後一塊拼圖。

Leave a Reply

Your email address will not be published. Required fields are marked *