中小企業及創業團隊云上監控方法
創業團隊往往人少,強調效率,強調速度,所以一般會選擇使用公有云來部署業務,基于云的監控是一個難點,本文討論創業團隊云上監控的方法。
要分享這個題目,是因為前幾天我有個朋友,剛好就在一個創業團隊,他們的業務初步上線,效果比較好,但是有幾次業務出現問題,都是收到用戶反饋,然后才去排查,從發現到處理完成,時間已經很長了。經過幾次折騰,這時候才意識到監控的重要性。
為了快速解決問題,他們使用了商業監控方案,效果不錯,用了一周就完成了系統及業務層面比較全面的監控,能做到業務有問題及時短信、郵件報警,然后快速處理。監控系統上來之后,明顯縮短了業務故障的處理時間,提升了用戶的滿意度。
本文討論以下幾個問題:
那些企業適合使用公有云
公有云監控的難點在那里
云上業務應監控那些方面
云上業務監控的方法介紹
中小企業云上監控的建議
那些企業適合使用公有云
云計算的概念熱了好幾年了,云計算、虛擬化對互聯網行業來說已經是標配。互聯網行業現在都是使用各種云,或者使用公有云,或者自己搞私有云。大部分企業使用的是混合云,即私有云、公有云一起使用,而且即使使用公有云,也會選擇多家使用。
傳統行業現在也在積極擁抱云計算,各個行業都在將自己的業務和互聯網結合,向“互聯網+”轉變。
最開始擁抱公有云的是中小創業團隊,尤其是手游頁游興起的時候,云確實解決了中小創業團隊的痛點,不需要自己買服務器,自己建設數據中心,自己部署網絡。
中小創業團隊本來人力、資源緊張,云降低了他們的門檻,使他們可以專注自己的業務。初創的云計算公司和中小創業團隊,一起抱團,開始了云計算行業的***波使用熱潮,目前這股熱潮還在繼續。
云計算是目前火熱的創業浪潮的加速劑,使創業變的更簡單,門檻更低。甚至,許多企業已經養成了習慣,公司做大了,上市了,還繼續使用云,因為確實從云上嘗到了甜頭。國外還有一些例子,經歷從云到自建,再到完全純云化的過程。
但是,企業上云只是***步,業務在云上跑得如何,穩定不穩定,出了問題如何及時發現,只有及早的發現,甚至預警,才能盡量減少業務的影響時間和范圍,整個環節要依賴許多技術手段,監控就是其中最重要的環節之一。
公有云監控的難點在那里
***個難點,公有云服務商不可能提供完善的監控手段
從宿主機層面監控云主機要做到準確很難,CPU利用率、網絡、磁盤IO,能做到近似準確,但是更細節的信息是沒有辦法看到的,比如到底是那個應用使用CPU較多,更別說應用層面指標的監控。
而且即使目前公有云上提供的這些簡單的CPU、網絡、磁盤監控,都是有時間限制的,從7天到30天不等,因為存儲長期的數據,會消耗公有云運營商大量的存儲空間。
第二個難點,公有云服務器即使能提供完善的監控服務,用戶也很顧忌
公有云要提供完善的監控數據,必須在云主機內部安裝客戶端程序,用戶一般都這個都很顧忌,公有云服務商也會很顧慮。
理論上,從宿主機上獲得正在運行的云主機上的數據,難度很低,何況還安裝一個客戶端,大部分用戶是不放心的,前段時間,某云安裝在用戶云主機內部的客戶端出現問題,更是一個佐證。
第三個難點,用戶要實施監控,成本也比較高
使用云的以中小企業居多,這些企業的特點就是開發人員是個位數,運維是開發兼任,最多一個人。這時候運維的主要職責是業務的部署,業務跑得穩定最重要,對系統、業務的監控只能做到很初級的監控,很難做到非常細致的監控。
云上業務應監控那些方面
企業實施在云部署業務,需要監控以下幾個方面的內容:
1. 云服務器商的網絡質量情況
這一點最容易被忽視,許多企業以為選擇了公有云,網絡質量這里就萬事大吉了,放到公有云上面的業務,肯定是要依賴網絡來開展服務,有些業務對網絡質量是非常敏感的,大部分云不提供網絡質量監控的,建議上云的企業,對網絡質量的監控也要重視起來。
2. 云主機系統層面的監控
云主機系統層面監控包括云主機的健康狀況及CPU、內存、網絡、磁盤使用情況,監控云主機主要是為了以下幾個方面:
§ 監控云主機是否正常運行,如果云主機宕機及時發現;
§ 監控云主機的壓力情況,如果壓力超過閥值,及時做出調整;
§ 監控云主機的使用情況,如果長期壓力過低,應對業務進行壓縮,節省成本。
3. 業務層面的監控
經常會碰到,云主機運行正常,但是業務出現問題,可以分為以下幾種情況:
業務進程僵死;
業務遇到性能瓶頸,比如讀寫太多,數據庫不能支撐,這時候往往在系統層面的指標也可能有反應;
業務邏輯層面的預定瓶頸,比如業務一個進程邏輯上只能支撐1024個鏈接,當超過1000鏈接以上,業務就不能對外提供服務;
觸發程序bug。
如果對業務層面沒有細致的監控,往往業務出現問題很長時間,才能發現,監控就是我們的眼睛和雷達,對業務指標監控的越細,越有利于我們發現問題,也越有利于我們根據歷史的監控數據排查問題,避免下次再發生同樣的情況。
云上業務監控方法介紹
我們知道業務的監控非常重要,那么監控方法有那些:
1. 使用開源工具,網絡質量監控方面,可以使用開源的SmokePing,系統和業務方面,目前國內比較流行的是Zabbix,也有其他監控工具,比如Cacti等。這些工具的共同特點是:
開源免費;
學習曲線比較陡峭,一般要熟練使用需要一到兩年時間;
功能上能滿足基本的需要,但是要監控更細致的指標,一般需要二次開發;
很難和自己已有的其他系統整合,要整合需要二次開發。
2. 使用商業服務
國內目前在監控商業化方面做的比較好的就是監控寶了,可以申請免費試用。
網絡質量方面,監控寶有全球的網絡質量監控:
也有國內的網絡質量監控:
監控寶有自己固定的節點,不像使用SmokePing,還需要自己找各地的IP地址,而且自己找的IP地址經常會出現ping不通的問題。
云主機系統層面的監控方法,監控寶有針對云主機專用的解決方案。
甚至還能監控Docker虛擬機:
監控寶的云主機監控對用戶來講非常簡單,一鍵安裝監控端,很快就可以出圖,默認就包括非常完善的指標。
比如網絡質量就分為全世界和中國的:
性能方面CPU、內存、網絡、磁盤使用情況指標都有:
也可以非常方便的根據自己的需要,自定義自己的業務監控指標:
還可以自定義報警模版及報警方式:
另外,監控寶還有API,可以方便的和自己的其他業務系統整合起來,還有手機上的APP,在手機上也可以隨時了解自己的業務情況。
中小企業云上監控的建議
很多人認為已經有開源的解決方案就沒有必要使用商業方案,其實中小企業非常適合使用商業方案,好處如下:
花錢買效率,商業的解決方案非常完善,幾天之內就可以完成部署和使用,而使用開源方案,需要不斷的打磨,周期是以年為單位的,并且隨著業務不停的變化,實際是一個長期過程;
不用過多考慮人的因素,好不容易企業培養起來一個開源監控熟練手,結果離職了,然后一切又要從頭開始;
我的朋友就是使用商業方案,比較好的解決了自己的問題。當然,如果運維開發工程師比較多了,自己的業務規模已經非常大,大到需要構建自己的私有云,這時候可能就需要根據業務的需求,開發一套滿足自己需要的監控系統。