自定義的雲中監控預警體系初探

1.概述

  有人說,雲計算拼的就是運維能力。隨着雲平臺規模的不斷擴大,運維的難度也呈直線上升,雲平臺的監控預警系統變得越來越重要。

  提到監控預警系統,很多人的第一反應就是:可通過各種圖表查看各個監控項的狀態;可對監控項設置警報,達到一定閥值時告警,能通過郵件、短信等方式通知到管理員,等等。

  這些確實是大多數監控系統的基本功能,但對於傳統的監控系統,更傾向於發現問題,通知管理員處理。在雲計算的時代,監控能否做得更多呢?下面我將爲大家介紹一下品高雲的監控系統。

  品高雲作爲一個自主研發的,遵循亞馬遜接口標準的雲平臺,其監控系統也不例外。品高雲的監控系統,即雲監控服務,在兼容亞馬遜CloudWatch接口的基礎上,作了大量的優化與擴展,方便管理員和用戶的使用。

2.自定義的雲監控系統

  作爲監控系統,首先要確定監控的內容,即監控指標。每一種雲資源都會有內置的一些監控指標,如實例的CPU使用率、網絡I/O;存儲卷的磁盤I/O,讀寫操作數,等等。管理員可查看、管理雲平臺的各項監控指標。
  
圖1
(圖: 監控設置)

  如果雲平臺內置監控指標不能滿足需求,怎麼辦呢?沒關係,我們支持自定義監控指標。只需要按要求撰寫好數據採集腳本、新建監控指標即可。

  下面以監控MySQL連接數爲例,展示如何在品高雲監控服務自定義指標:

1.撰寫數據採集腳本,並由管理員上傳到雲平臺指定目錄:
圖2
(圖: 腳本)

2.新建監控指標,填寫相關參數:
圖3
(圖: 新建指標)

  數據採集腳本是在哪裏運行的呢?這與監控指標的設置有關。監控指標的收集方式包括ec2config和controller

ec2config是內置在雲平臺鏡像裏面的一個程序,可與雲平臺交互,實現更多的功能。收集方式選擇ec2config,即是由該程序在實例內部運行採集腳本,並通過特定的URL彙報到雲平臺。

controller,即由雲平臺物理機運行採集腳本。

  自定義監控指標默認都通過ec2config採集數據。

  定義好監控指標,雲平臺便會根據設定定時去收集、彙總數據。我們可以到各個資源的詳情頁面,查看該資源相關指標的監控數據。

圖4
(圖: 監控圖表)

  有監控數據只是第一步,我們要如何利用這些數據去完成更多的操作呢?答案就是:監控警報。

  對於亞馬遜CloudWatch,一個監控警報只對應一個雲資源的一個監控指標;如果想監控100個實例的CPU使用率,必須重複建100遍。

  品高雲對此作出改進,將監控警報拆分爲警報定義跟監控項。警報定義包括警報類型、觸發條件、觸發操作等通用定義,與具體雲資源無關。

圖5
(圖:新建警報)

  如果警報類型選擇的是任意實例、任意主機,則無需其他操作,警報自動對所有實例、主機(包括後續新建的)生效。

  如果不是針對任意資源的警報,則還需要創建監控項,選擇具體需要監控的資源,綁定到相關的警報。

圖6
(圖: 新建監控項)

  新建監控項時,還可以定義觸發操作。要注意的是:定義在監控警報的操作是通用的觸發操作,所有綁定到該警報的資源都會觸發;定義在監控項的操作則只對該監控項對應的資源生效。

  監控警報能觸發的操作,目前主要包括三種:

  1.平臺消息: 警報觸發後,往雲平臺發送消息,用戶登錄時可以看到。
圖7
(圖:平臺消息)

  2.發送SNS主題: SNS即雲平臺的另一個服務:簡單通知服務。用法是:根據需要創建一個SNS消息主題,當監控警報觸發時,將向該主題發佈消息。

  一個SNS消息主題可以添加多個消息訂閱。訂閱方式可以是Email、Email-JSON或HTTP。當有人向消息主題發佈消息時,所有已確認的訂閱者都能收到消息。

  如果是Email、Email-JSON的訂閱者,將收到郵件通知;如果是HTTP訂閱者,將收到POST請求(消息內容爲JSON格式),用戶可根據需要作進一步的處理。
圖8
(圖:SNS訂閱)

  3.觸發彈性策略: 彈性策略與雲平臺另一個服務:彈性伸縮服務有關。

  彈性伸縮服務可以讓用戶創建彈性組,通過指定啓動配置(包括使用的鏡像,網絡,是否使用負載均衡),最小、最大及當前需要的實例個數等來創建一組雲資源。

  服務本身會對實例進行健康檢查,確保健康的實例數量達到設置的需要值; 通過定義彈性策略加、減實例,再與雲監控服務結合,達到通過監控數據的變化動態改爲需要實例個數的目的。
圖9
(圖:彈性策略)

  一個較爲經典的應用場景是: 以彈性組的方式部署一批WEB服務器,通過負載均衡對外提供服務。

  對彈性組實例的平均網絡連接數建立兩個警報:

  當併發連接數達到一個較高值時,觸發添加實例的彈性策略增強處理能力;當併發連接數下降到一個較低值時,觸發減少實例的彈性策略以節約資源,從而實現自動根據負載情況自動伸縮資源。

  上述功能所有云平臺用戶都能使用。除此之外,品高雲還有大量方便雲平臺管理員運維使用的功能:

  監控TOP:可以根據不同的監控指標,查看最近一段時間哪些資源該項指標最高,從而協助快速定位、排查問題;
圖10
(圖:監控top)

  雲平臺監控:針對雲平臺各項資源使用率的監控,可根據使用率及其歷史數據的走勢,評估雲平臺是否需要擴容,要擴多大;
圖11
(圖:雲平臺監控)

  服務狀態監控:針對雲平臺各項服務的健康狀態的監控,可結合監控警報,在服務出現異常時第一時間通知管理員;
圖12
(圖:服務狀態監控)

  資源監控:從計算、存儲、網絡三個層面監控資源使用情況。

圖13
(圖: 資源監控)

  平臺綜合評分: 從健康、風險、效率三個維度對雲平臺資源使用情況進行評分,並可查看各物理主機的資源使用率、資源富裕、不足的物理主機。
圖14
(圖:平臺綜合評分)

圖15
(圖:主機資源使用率)

  報表模塊: 通過用戶、服務、服務組、標籤、軟件使用情況等維度,瞭解雲平臺資源的使用情況,並可導出報表,方便運維人員的工作彙報。
圖16
(圖:用戶報表)

3.下一步的優化改進計劃

  品高雲監控服務現有的功能就介紹到這裏。後續還會不斷地優化改進監控服務,計劃中的功能包括:

  • 通過同一個入口快速查看不同資源的不同的監控指標的監控圖表,可以在同一張圖表橫向對比多個指標的;

  • 提供更多的監控維度,如雲平臺事件,資源狀態變化,等等;

  • 提供更多的觸發操作,如存儲卷擴容、更改網絡帶寬、遷移實例等等,讓雲平臺更加自動、智能,減少運維壓力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章