先於使用者發現服務故障-內網可用性監控

裴旻發表於2018-05-22

背景:

任何服務都避免不了出現以下問題,你的使用者訪問不了你的服務或者站點,使用者偶爾碰到5xx,服務響應延遲比較慢,某臺應用程式掛掉,導致訪問時好時壞。問題在於,_你是否要等你的使用者來告訴你,你的程式出問題了_。

出問題的原因很多,應用程式掛了,java應用大GC導致應用不響應,應用依賴的rds,redis響應慢或者乾脆不響應。應用依賴的其他http服務響應慢或者不響應等。

困難:

然而,當企業上雲後,應用程式的執行環境也變得複雜。
也許你的應用程式跑在了ecs上,可能是在vpc的內網環境裡,無法有效的觸達到你的應用程式。
也許你的應用程式跑在docker容器裡。
也許你的應用程式是直接run在serverless架構裡。
也許你懶於自己維護了一個zabbix,需要付出較大的維護成本。

以上這些,都讓應用程式的執行時可用性監控變得困難。

另外,出問題的原因很多,應用程式掛了,java應用大GC導致應用不響應,應用依賴的rds,redis響應慢或者乾脆不響應。應用依賴的其他http服務響應慢或者不響應等。

如何用一個方案,簡單的把這些全部監控起來?出問題的時候及時的告訴應用開發人員?

解決方案:

可用性監控

雲監控推出了應用可用性監控,可以通過在控制檯建立一個可用性監控任務,從分組內選擇部分機器,發起到本地127.0.0.1或者到內網元件(rds,oss,redis等),或者是遠端api的探測任務,並將探測結果反饋到雲監控,同時使用者可以對探測結果設定一個報警, 當探測不通或者不符合預期時,通過簡訊,郵件,釘釘,訊息,回撥等方式,在出問題的第一時間通知給你,讓你在第一時間作出反應。

目前支援的探測型別包括:ping,telnet,http(s)三種,其中http支援對返回結果做簡單檢驗,判斷是否包括某些關鍵字等。

可用性探測示意圖:

image.png | center | 832x435

具體步驟:

建立分組,例項資源加入分組,並給分組指定相關人(管理分組,接收報警通知)

image.png | center | 776x564

image.png | center | 776x564

建立應用本身的可用性監控

image.png | center | 832x605

image.png | center | 832x605

建立應用對rds/redis的依賴監控

前提是,需要將依賴也加入到本應用分組內。

這個監控只能對應用分組的資源進行監控。

image.png | center | 832x548

報警通知

目前雲監控支援簡訊,釘釘,郵件,訊息MNS,公網http回撥等多種通知方式。同時支援報警後靜默多長時間再次通知,在哪個時間段內生效(也許白天你上班時間自己盯著,不希望白天發簡訊)。

另外,雲監控提供每月1000條簡訊免費使用。在下個版本,大概3月底,雲監控還將支援電話報警。

到這裡, 安全可靠的應用可用性監控就配置好了, 如果應用發生問題,比如程式掛掉,埠不響應,響應延遲等,就可以及時得到通知了。

最後

同時, 雲監控還支援

  • 主機監控(提供秒級的豐富的監控指標,支援非阿里雲主機,打通線上線下),
  • 雲服務監控(包括阿里雲上30+商業化產品),
  • 站點監控,
  • 日誌監控,
  • 自定義監控,
  • 錯誤事件監控,
  • 豐富靈活的自定義監控大盤,
  • 支援跨產品跨地域的應用資源分組

等豐富完善的端到端的監控功能棧。相信一定可以解決您的雲上監控需求。

雲監控地址:https://www.aliyun.com/product/jiankong?spm=5176.8142029.388261.412.3836dbccqatHrh

image.png | center | 832x477


相關文章