天天看點

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

“可監控、可灰階、可復原” 據說是阿裡集團内部有關系統穩定性的“三闆斧”,作為第一步的“可監控”自然是所有業務條線的一項“剛需”,那麼到底如何實作“可監控”就讓我們從阿裡雲的現有監控服務産品中來一窺究竟吧。

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

應用實時監控又稱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補上了阿裡雲上監控的最後一塊拼圖。