“可監(jiān)控、可灰度、可回滾” 據(jù)說是阿里集團內(nèi)部有關(guān)系統(tǒng)穩(wěn)定性的“三板斧”,作為第一步的“可監(jiān)控”自然是所有業(yè)務(wù)條線的一項“剛需”,那么到底如何實現(xiàn)“可監(jiān)控”就讓我們從阿里云的現(xiàn)有監(jiān)控服務(wù)產(chǎn)品中來一窺究竟吧。
阿里云目前有兩大監(jiān)控服務(wù)體系,一個是偏向于云基礎(chǔ)架構(gòu)側(cè)的“云監(jiān)控”、一個是偏向于應(yīng)用側(cè)的“應(yīng)用實時監(jiān)控”,這次就讓我們先來了解一下云監(jiān)控。
云監(jiān)控的監(jiān)控能力主要覆蓋如下方面:
主機監(jiān)控、用于最普遍的阿里云服務(wù)ECS的監(jiān)控,主要監(jiān)控CPU、內(nèi)存、網(wǎng)絡(luò)和存儲IO的各項指標(biāo),也能夠?qū)ο到y(tǒng)內(nèi)的關(guān)鍵進程進行監(jiān)控,例如對ECS上運行的MySQL進程進行監(jiān)控。
云產(chǎn)品監(jiān)控、就像云主機一樣,絕大部分的阿里云產(chǎn)品都接入了云監(jiān)控的體系中,例如SLB監(jiān)控,能夠?qū)ω?fù)載均衡的并發(fā)連接數(shù)、后端ECS的異常和健康數(shù)量、七層負(fù)載均衡的QPS數(shù)、各種HTTP狀態(tài)碼的統(tǒng)計等進行監(jiān)控、再例如RDS的監(jiān)控能夠?qū)DS服務(wù)的各項子服務(wù)、網(wǎng)絡(luò)使用情況、實例的性能和SQL執(zhí)行信息等進行監(jiān)控。
站點監(jiān)控、通過分布在全球各地的阿里云數(shù)據(jù)中心對目標(biāo)站點發(fā)起模擬的探測訪問,探測的對象可以是任意域名和IP地址、探測的內(nèi)容包括端口的聯(lián)通性、訪問的響應(yīng)時間等,支持的協(xié)議包括HTTP/HTTPS、PING、TCP、UDP、DNS、SMTP、POP3、FTP。
自定義監(jiān)控、可以通過云監(jiān)控的上報數(shù)據(jù)接口將任意業(yè)務(wù)指標(biāo)上報至云監(jiān)控,云監(jiān)控的上報數(shù)據(jù)方式包括:
通過發(fā)送HTTP請求上報、通過Java SDK上報、通過命令行上報。
容器監(jiān)控、Kubernetes已經(jīng)成為了云原生的事實標(biāo)準(zhǔn),因此和ECS一樣云監(jiān)控也將面向Kubernetes的容器監(jiān)控從其他云服務(wù)監(jiān)控中單列了出來。
假如您使用了阿里云的ACK服務(wù)則可以使用容器監(jiān)控對k8s集群、節(jié)點、命名空間、應(yīng)用和容器組的各項指標(biāo)進行監(jiān)控。
除了被動對云服務(wù)的監(jiān)控外,云監(jiān)控還能將監(jiān)控信息和云服務(wù)對接并主動干預(yù)云服務(wù)的行為,例如對于阿里云的ESS彈性伸縮服務(wù)來說,可以通過對接云監(jiān)控實現(xiàn)對當(dāng)下負(fù)載的感知并自動觸發(fā)伸縮任務(wù)。
當(dāng)指標(biāo)異常時,云監(jiān)控支持通過電話、短信、旺旺、郵件、釘釘機器人、阿里云App等多種方式進行報警信息的推送,例如可以通過設(shè)置釘釘機器人來將報警信息發(fā)送到群聊,一次性通知多人進行處理。
這次我們聊了一下云監(jiān)控,下次我們再來了解一下應(yīng)用實時監(jiān)控。