如何部署雲端的監控策略?

2021-07-09 13:39:21 字數 2501 閱讀 7691

1月13日,雲應用資料監控企業 datadog 宣布獲得 9450 萬美元融資,雲端監控的市場究竟有多大?在 web scale it 的潮流中,雲端監控已經越來越成為一種必需。下面我們來看看 monitoring strategies in the cloud 這篇文章關於雲端監控的真知灼見。

筆者之前寫過一篇雲計算對運營模式的影響,分析了為何彈性的雲模型會比封裝與交付(package and ship)軟體模型需要更多工程技術。此外,由於雲**商提供的是實時24*7自動伸縮方案,所以,彈性雲模式還需要更加先進的監控策略。

在使用預安裝軟體時,使用者要負責監控基礎架構和應用程式,當使用量達到一定閾值時,使用者還要負責容量規劃以確保採購和準備更多的基礎設施。而在雲模式下,雲**商必須實時執行這些任務,並且在達到一定臨界值時,立即進行自動化系統伸縮。雲端監控的最好策略是主動出擊策略,就是當問題對系統和使用者體驗產生廣泛影響之前,先發制人。

需要監控的種類有:

各個雲棧層也需要監控:

此外,還有三個不同的區域需要監控:基於雲來構建系統的最佳實踐就是盡可能標準化,這樣,高水平的自動化才能落實。其中,兩個亟需標準化監控的重要領域便是錯誤捕獲和日誌記錄。在雲端日誌策略一文中,筆者對此話題進行了簡單的討論,摘抄如下:

…構建乙個公用服務用來編寫應用程式訊息:採用通用的日誌訊息格式、標準的 http 錯誤**、rfc5424 嚴重性級別,並且採用通用詞彙來描述錯誤,以便於優化搜尋,獲得一致的結果。

上面這些建議都非常重要。在乙個擁有成百上千臺伺服器的高度分布式環境中,如果錯誤訊息沒有統一的標準,那麼,日誌內容就難以在決定模式時起到應有的作用,幾乎是毫無價值的。下圖是乙個雲堆疊,除了資料庫層,其它層都是多租戶架構的:

資料庫層是根據使用者進行分片的。這是用來最小化所有非資料庫層中虛擬機器數量的通用方式,同時,還提供乙個隔離層來保障使用者在資料層的附加安全。但是,日誌呢?這些服務上的所有日誌都應該通過管道輸送到乙個**日誌伺服器(主日誌檔案和備份),它很有可能儲存在乙個 nosql 資料庫上,便於檢索。日誌伺服器是乙個共享資源,所以,所有的日誌記錄都應該儲存在同乙個 nosql 資料庫中。採用標準的錯誤訊息命名規範和標準化日誌訊息,日誌應用程式可以從日誌共享環境中給終端使用者提供具體的使用者日誌。

為了實現這種策略,開發團隊必須實現策略標準和設計規範。另外,非常重要的是,必須在開發初期就要落實到位,否則,等到伺服器數量增長到成百上千時,再進行改動風險就非常高了。

基於雲端的監控必須要採取主動方式。通常,當使用者思考如何進行雲端監控時,他們會用 nagios 監控虛擬機器的磁碟、cpu、記憶體等。這些是必不可少的,但僅僅這樣做,還遠遠不夠。所有的執行任務都應該被監控和基線化,每乙個 api 都應該被追蹤,每部分基礎設施都應該被監測,使用者指標都應該予以密切關注,對每個可疑活動都要追查其發生的原因。

對於 apis,主動監控可以追蹤每分、每秒的呼叫數,以及每個時段的平均表現。無論何時,只要系統檢測到乙個異常值,無論是呼叫次數異常,還是呼叫表現異常,都應該向相關人員發出告警。例如,如果乙個 api 通常每分鐘被呼叫 1000次,但在最近一分鐘內,只被呼叫了 5 次,那麼,很有可能是 api 出現問題,或者是上游的一些東西阻止了**呼叫該 api。另一方面,如果該 api 突然被呼叫了 10000 次,那麼就應該發出告警了。有可能是新使用者突增,也可能是流量猛增,但開發人員應該檢查系統的其它部分是否可以順利擴容以適應這些增長。此外,也不排除有人進行惡意攻擊,開發人員應當檢查日誌,看看是否有可疑行為。

主動監控的另乙個例子是追蹤 kpis。每個企業都會有自己的 kpis 指標,例如下面這幾種:

kpis 是長期追蹤的基準化指標。kpi 的不良趨勢可以揭露產品策略問題或者系統問題。與使用者活動相關的 kpi 也應該進行監視、日誌記錄並且與每次部署相關聯。使用者活動下降的原因有很多,可能是因為最新發布的版本存在**缺陷、效能問題,也可能是使用者難以接受或適應產品的變化。通過主動監控 kpi,企業可以對問題做出快速積極的響應,避免災難性結果或使用者流失。

對於基於 laas 構建解決方案的企業,大量的開發和監控工具是必備的,devops 團隊的核心職責是實施綜合監控檢視以方便運營團隊監控系統。如果企業基於 paas 構建解決方案,那麼 devops 團隊只需對應用層實施自動化監控,運營團隊可以直接檢視應用監控並檢查 paas 上系統的執行狀況。如果企業使用了 saas 解決方案,那麼運營團隊至少要 ping 一下 saas 的 url,如果該 saas 解決方案是任務關鍵型的,他們就需要監控 saas 解決方案所提供的系統執行狀況資訊(如果該功能存在的話)。

監控是所有雲端專案不可缺少的一部分。監控措施應當盡早落實,不斷提公升。目前,還沒有乙個監控工具可以滿足雲端解決方案的所有需求。使用者可以結合使用 saas 解決方案、開源解決方案甚至一些本土的解決方案來滿足平台的所有需求。管理乙個沒有監控工具的雲端解決方案,就好比夜晚在高速路上駕駛一輛沒有開燈的車一樣。你或許可能平安到家,但是機率也許渺茫!

cloud insight 集監控、管理、計算、協作、視覺化於一身,幫助所有 it 公司,減少在系統監控上的人力和時間成本投入,讓運維工作更加高效、簡單。

本文** oneapm 官方部落格

Fluentd部署 如何監控Fluentd

監控的目的是確保日誌採集能穩定高效執行。fluentd內部執行指標 fluentd內部儲存著一些執行指標,這些指標可通過rest api直接獲取,也支援通過第三方工具,如prometheus,來訪問。prometheus是官方推薦的監控工具。程序監控 fluentd執行後會產生兩個ruby程序,需要...

zabbix監控的部署

二 1 yum install zabbix server mysql zabbix web mysql zabbix agent httpd mariadb mariadb server php php mysq 2報錯,進入 cd etc repos.d 上傳centos源 再次安裝以上軟體包 ...

無線WIFI上網監控的旁路部署方案

旁路實現上網監控的好處顯而易見,旁在網路上,對網路沒有任何影響,上網監控機器開關也不會影響網路流通,對監控伺服器配置要求不用太高,也無需聯網。wfilter icf目前也是國內外最典型的旁路監控原理的上網行為管理軟體。注意哦,wfilter icf本身就是乙個旁路原理的上網行為管理軟體,下面介紹的只...