摘要:本文主要分為三個部分,將介紹監控系統的歷史流派及如何選型,希望對讀者能有所幫助。圖監控系統發展歷史早期的監控系統互聯網發展早期的監控系統,主要是指基于簡單網絡管理協議的網絡監控和系統主要指操作系統監控。
本文作者 劉俊
微博平臺監控技術負責人,負責微博平臺、PC微博大規模監控系統的建設,主要關注實時大數據、運維自動化、智能化方向,2014年加入微博,之前曾在新浪、搜狐等公司從事運維監控方面的工作。
隨著互聯網的發展,監控系統也得到了發展。從最早期的網絡監控、系統監控,發展到現在的業務監控、日志監控、性能監控、代碼監控、全鏈路監控等,并在監控數據的基礎上,逐步發展出了APM(應用性能管理)、AIOps(智能運維)等。
本文主要分為三個部分,將介紹監控系統的歷史、流派及如何選型,希望對讀者能有所幫助。
監控系統的歷史
首先來看看監控系統的發展歷程和常用工具軟件,如圖1所示。
圖1 ?監控系統發展歷史
早期的監控系統
互聯網發展早期的監控系統,主要是指基于SNMP(簡單網絡管理協議)的網絡監控和系統(主要指操作系統)監控。這個時候的互聯網應用都很簡單,只有網絡設備和操作系統可以提供標準的SNMP服務,一些Web服務器、中間件也支持通過SNMP獲取狀態,但不是很完善。
而且在這一時期,開源還不流行,業界主流的商業監控系統(實際上監控只是這些商業管理軟件的一小部分功能)有IBM的Tivoli、HP的OpenView、CA的UniCenter,主要客戶是銀行和電信,而弱小的互聯網公司(特指那個時代)用不起。
現在的監控系統
隨著互聯網公司的發展和強大,他們對業務、服務、應用也逐漸有了較強的監控需求,而基于前面的理由,互聯網公司的監控系統一般都是走自主研發和開源軟件相結合的路子。畢竟“昂貴”、“耗時”、“流程”這些詞在互聯網公司難以生存,而能發揚光大的系統一般具有“便宜”、“快速”、“簡單”的特色。當時可用的開源監控軟件包括Cacti、Zabbix、Nagios、RRDTool,這些軟件今天仍然很活躍,像RRDTool這樣的時序數據存儲方式也是目前很多時序數據庫參考的標準。
業務監控繼續發展,并且更加細分,出現了性能監控、代碼監控、日志監控、全鏈路跟蹤(Trace)等方向。相應地有了全面的監控、日志分析等功能,有了告警的需求。隨著告警功能的完善,出現了關聯、收斂等技術,并能提供一定的建議,接著干預手段(降級、封禁、流量切換、擴縮容)也可以用上了。
前沿方向
隨著行業做到一定的程度,大家的應用水平都差不多,區別在于工程水平、產品化的能力,基于前面這些基礎,又演化出了兩個比較前沿的方向:APM和AIOps。
APM,即應用性能管理,定義了五個功能維度,分別為真實用戶體驗監控、運行時應用拓撲的發現和可視化、用戶自定義業務分析、應用組件深度監控、運營分析,如圖2所示。APM各大廠實施的程度也不太一樣,或多或少都能靠上一部分。國外做的比較好的SaaS廠商有NewRelic 和AppDynamics,國內的讀者可以自行搜索。
圖2 AMP定義
AIOps,原先指“AlgorithmicIT Operations”,也就是基于算法的IT運維,即利用數據和算法提高運維的自動化程度和效率,涵蓋了數據的收集、存儲、分析、可視化,以及通過API提供與第三方工具集成的能力,從這個角度來說,AIOps存在了很久,目前大多數公司努力達到的也是這個層次(但是國內除了少數初創公司,大部分公司內部各部門之間的運維、監控數據的互聯互通都還做不到,別說在更高層次上統籌考慮運維方案了)。在這個基礎上,再加上火熱的大數據和機器學習,AIOps的內涵得到了發展,即我們現在所說的“智能運維”(Artificial Intelligencefor IT Operations),目前各個公司都在嘗試使AIOps落地。
流派
說到流派,每個人都會有自己的喜好和一套理論,下面會對它們進行對比,讀者自行評判選擇。
Agent與Agentless
在我們的監控實踐活動中,一般將必須要安裝配置、對運行環境比較敏感的監控組件(一般完成信息采集和初步聚合)稱為Agent,而相對應地,不需要安裝、直接運行的腳本、遠程SSH和基于SNMP服務、第三方管理API獲取信息的方式稱為Agentless(無代理)。
Agent與Agentless對比如圖3所示。
圖3 ?Agent和Agentless的對比
Total solution與自由組合
所謂“Total Solution”(整體解決方案)特指擁有特別多功能的、“大而全”的監控系統,能完成包括數據收集、聚合、存儲、展示、告警等全套功能,Zabbix、Zenoss、Open-falcon、Prometheus等都是其代表。這一類功能比較完整的監控系統特點就是“完整”,除了必要的配置,一般你不需要考慮在其之上開發什么附加功能(當然二次開發也比較困難)。
“自由組合”是另外一種流派,核心思想就是“小步快跑”、“每次只做一件事”、“每個組件只完成一個功能”。具體說起來,就是通過組合各種小工具、循序漸進的實現一系列功能,為什么強調每次只做一件事呢?因為需求不明確,或者說需求變化太快,尤其互聯網公司,業務更新變化太快,在這種環境下,不太適合規劃一個需要較長開發周期、擁有很多功能的系統。
很難說哪一種方式較好,只能說哪一種方式比較適合。Total Solution的好處是可以快速搭建一套完整的監控系統,即使是默認配置,對于不太復雜的監控需求一般都能滿足;小步快跑的好處是在一開始需求不明確的情況下,專注于矛盾最突出的地方,專注解決一個點,如有必要再擴展。
選型
選型的意思就是選擇哪一種監控體系,是成熟的產品,還是自己研發,抑或基于開源軟件來集成。當我們開始規劃一個監控系統的時候,這問題就需要預先考慮和分析,列出競品之間優缺點,結合需求來選擇,而不是自己熟悉那個就用那個,也不是因為別人用了,所以自己也要用。
需要解決什么問題
選擇監控系統,需要先問自己一些問題,明確自己的需求,下面是這些問題的范例。
我有很多服務器、數據庫、網絡設備,但可以知道它們的狀態嗎?
我給客戶提供了一項服務,但服務是否有問題、服務質量如何?
我有一個(些)監控系統,但我對效果/成本/功能滿意嗎?(不滿意是常態。)
這些問題的答案就對應著不同的解決方案:基礎監控、業務服務質量監控、性能監控等,另外可以明確是需要重新建設還是在原有的基礎上升級和補充。
分析自己的環境
“環境”包括了軟硬件的運行環境,比如操作系統的版本、容器、框架、日志落地方式等,一般經過一段時間發展,環境基本上會變得“五花八門”,這時選取一個各種環境都容易集成的方案會比較好,也就是一個計算“較大公約數”的過程。
確定你的預算
有人覺得自己使用的是開源軟件,應該沒有預算問題,但是這背后還是會有很多成本的。首先就是學習和時間成本,你需要理解軟件的理念和設計思想,判斷是否能解決自己的問題;其次是部署和二次開發的成本,很多時候開源軟件文檔并不完善,需要自己探索,并且可能不能直接用于自己的環境,所以面臨二次開發。一定要提前規劃,看是否能夠接受這些成本。?
本文的內容基本介紹完畢,簡單來說,如果能預計自己的數據量,并且想盡快看到效果,那么直接用成熟的“Total Solution”比較好,前期成本較低,建設速度也比較快。另外一方面,如果需求不太明確,數據量無法估算,建議還是走“自由組合”的方式,利用一些小工具,先完成主要功能,再逐步迭代和演進。當然,現實中少有人會全盤推翻之前的遺留系統重新建設一套,一般大家都是從一個還“能用”的系統起步,再組合各種工具。
聲明:文章收集于網絡,如有侵權,請聯系小編及時處理,謝謝!文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/3946.html
摘要:隨著越來越多的商業項目采用了和,可視化的概念也越來越深入人心。深知一款優秀的編輯器工具,將大幅減少工程師和項目實施人員的工作量,就像編輯器在內部使用時一樣。的發布,標志著已經形成了內部使用,客戶定制,標準化產品三位一體的編輯器解決方案。 插播一則廣告(長期有效) MONO哥需要在武漢招JavaScript工程師若干要求:對前端技術(JavasScript、HTML、CSS),對可視化技...
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一平靜的生活已經有一段日子了。傳送門技術的前世今生一技術的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》 平靜的生活已經有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一平靜的生活已經有一段日子了。傳送門技術的前世今生一技術的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》 平靜的生活已經有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
閱讀 961·2023-04-26 02:49
閱讀 1172·2021-11-25 09:43
閱讀 2541·2021-11-18 10:02
閱讀 2919·2021-10-18 13:32
閱讀 1281·2019-08-30 13:54
閱讀 2074·2019-08-30 12:58
閱讀 3008·2019-08-29 14:06
閱讀 2154·2019-08-28 18:10