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