近日,華青融天戰略拓展總監王旭在內部分享活動中針對IT運維的九重重要保障進行了詳解。
我們的生活和工作,越來越依賴於IT系統,無論支付、辦公、吃穿住行……離了網際網路和軟體,一天也玩不轉。當然,與前端應用日益豐富對應的,就是IT系統後臺的日益複雜、運維工作的日益困難。
如果你是某單位的IT運維人員,那麼下面這些狀況一定不陌生:
-周一,網絡部門做了負載均衡的升級,業務部門反饋偶爾出現業務響應慢,是升級的問題還是應用系統的問題?
- 周三,文檔系統進行了硬體遷移,用戶發現文檔系統的頁面打不開,是網絡問題?伺服器問題?還是應用問題?
- 周日,大量用戶投訴辦理業務卡頓,系統的架構非常複雜,毛病出在哪兒?
業務部門和用戶眼巴巴等著,你怎麼辦?如果短時間找不到問題原因,搞不定系統,那這個鍋你算背定了。其實,在很多單位,IT運維部門基本就是專業背鍋俠。
尤其是,IT監控技術已經從傳統的NPM(網絡和基礎設施監控)進化到APM(應用監控),從數據為中心進化到業務為中心,上面三個例子,都必須由APM技術出馬搞定。
今天,就來聊聊IT運維技術的天下大勢,教你怎樣練就一身張無忌般百毒不侵的九陽神功,重重進階,金剛不壞。
九陽神功第一重:氤氳紫氣
當下將「九陽神功」的練法和口訣傳了無忌......丹田裡的真氣似香菸繚繞,悠遊自在,那就是所謂「氤氳紫氣」。——《倚天屠龍記》
何謂紫氣?正所謂紫氣東來,數據來源是也。要想洞察IT系統的運轉情況,監控數據的來源當然是基礎。這就是九陽神功第一重。
採集IT系統的運行信息,有哪些主流技術?大致有四種:agent、代碼植入、主動探測和今天要講的旁路流量抓包。
簡單講講前面幾種技術的弊端:agent曾經非常流行,但它要求在業務伺服器上安裝和運行新的軟體,本身就會消耗伺服器的性能;代碼植入,要求對被監控的應用系統進行改造,植入監控代碼,這對很多動輒幾十套、上百套應用系統的大型單位來說不可能;主動探測,與前兩者類似,也是一種消耗系統資源的方法。總之,這三種都是帶有一定「侵入性」的技術。
而旁路流量抓包技術,是近年來出現的一種新的監控技術,從網絡設備的鏡像埠把伺服器之間的流量直接導出,接入單獨的監控系統,完全不消耗業務伺服器的資源,也不需要做應用系統的改造,是一種非侵入性的技術。
而且數據包是最真實的,做不得一點假。通過反向工程,從數據流中重建應用系統之間的一切交互,計算指標,發現問題。
上圖就是交換機SPAN抓包技術,通過交換機流量拷貝到一個新的埠,獲取所有被監控系統之間的數據流。當然還有很多技術,如為了提高性能可以引入多臺TAP SWITCH,以後有機會再談。
採用流量抓包技術做APM監控的,目前國外主要有Compuware、Riverbed APM等,在國內很多大型機構有使用。國內廠家中,掌握這種技術的不多,華青融天的EZSonar(鷹眼平臺)是毫無疑義的扛把子。作為國內廠商當然具有價格實惠、定製開發靈活等優勢,而系統的品質也並不弱於國外同行。
九陽神功第二重:易筋洗髓
易筋洗髓是為深厚內功,得此功猶入無人之境。——《倚天屠龍記》
修煉到第一重,獲得了旁路數據流量,只是具備了監控的基礎,怎樣解析它,讓數據包說話,從中重建出各個應用系統之間的信息流,計算指標和發現問題,才是挑戰所在。
經過系統的報文解析,將雜亂的數據流轉化為規範的信息項,正所謂易筋洗髓,改頭換面,呈現出所有應用交互信息和指標的本來面目。
很多大型商業機構如銀行、證券、運營商等,動輒幾十上百套應用系統,有些是標準的商業軟體,有些是國內定製開發的行業軟體,它們的數據報文格式五花八門,猶如進了聯合國,要求監控系統必須有幾百種語言的同聲傳譯水平。而且性能也是一個關鍵挑戰,因為每秒都有若干GB的流量洶湧而來,能否及時地解析它們,要求軟體的流量工程能力極強。
例如,上面就是一段報文。肉眼一看,如看天書 。但是如果解碼引擎合理地配置了報文解碼規則,就像大腦內置了一本強大的字典,就能解碼報文背後的應用信息,進而計算出各種指標。
有哪些常見的報文協議類型?DNS、FTP、Telnet、ICMP、Syslog、SNMP、HTTP、POP3、IMAP3、DHCP、RSYNC、NFS、RSH、MEMCHAED、REDIS、XML、Weblogic JMS、Tuxedo、XML OVER TCP、EJB、RMI、JSON、SOAP、CUPS、CTG、Oracle TNS、簡訊通知平臺(移動,電信,聯通)、MYSQL、DB2……
可見,對於一個APM系統的建設,應用系統報文協議的解析規則是重要一環。一方面,開發商需要具有深厚的積澱,具備豐富的報文解析規則庫,能解析常見的商業軟體;同時,建設單位需要提供自身的定製化系統的報文規則,供系統配置補充,這方面也必須方便易用。
九陽神功第三重:至陽熱氣
至陽熱氣,全力施展可將人焚為焦炭,專門克破所有寒性和陰毒內力。——《倚天屠龍記》
天下武功,唯快不破。
如果系統已經出現了性能劣化,甚至應用已經宕機,你肯定不希望明天早晨才發現。所以,對於應用監控系統來說,性能計算和告警的時效性是關鍵,第一時間發現問題先兆,聽風辨器、及時預警、防患於未然,才是運維的最高境界。業界往往把數據分為熱數據(實時)、溫數據(warm)和冷數據,對於關鍵性的業務監控系統而言,對於數據的要求一定是最高熱度的,正所謂至陽熱氣。
例如,上面是一個金融單位的典型的業務監控界面,每個業務板塊和業務系統的性能指標實時刷新,當某系統出現問題時,紅色告警就會閃現。這些性能指標的更新和告警的判斷,要求後臺的計算引擎有著最強大的計算和判斷能力。
各位少俠要了解,告警的判斷是一個非常複雜的問題。如果僅僅是與靜態閾值相比較而觸發告警,是遠遠不夠的。例如,一家機構的業務量往往具有一定的時間分布特點,如工作日較高節假日較低,上下午會各有一個交易高峰等等,只有具備智能的算法,對一段歷史時間內的指標進行動態基線比對,發現指標的浮動超出了一定範圍,才判斷為異動,觸發告警,提請用戶注意。
要做到這些,讓熱氣騰騰的性能和告警數據實時呈送到界面,就需要在秒級完成從數據流採集到報文解析到性能指標計算和告警識別。具體技術,各村都有各村的高招,華青融天通過採取不落地的內存計算方式,能夠保證數據的秒級處理,在近期一家金融機構的實測中,每秒處理的交易量超過70萬筆。
九陽神功第四重:縮骨大法
他心中只一個念頭:「這小子比我高大,他能鑽過,我當然更能鑽過。」想法原本不錯,只是有一點卻沒料到:張無忌已練成了九陽神功中的縮骨之法。——《倚天屠龍記》
縮骨大法者,化大為小,小中見大,見微知著也。
魔鬼往往在細節中。對於業務系統的監控,基本的監控粒度有多大,決定了故障定位的精度。前面給大家講過監控系統的數據來源,以旁路鏡像數據流為最佳選擇,數據流中全部業務系統之間的數據流糾纏在一起,剪不斷理還亂,必須化大為小,從大的數據流中拆分一個個小的邏輯對象,才能鎖定真正的問題。
舉個例子,上面是一個的典型銀行應用。
粗看起來,每分鐘2000筆的交易量,平均響應時間100ms,成功率90%,響應率90%,看起來還不錯。大部分業務監控系統,只能做到這一步了。
但如果我們細看不同的渠道發出的請求,就會發現,應用細分為網銀、櫃面、第三方支付和理財平臺四個部分,其中前三個是正常的,但理財平臺的成功率和響應率都只有10%,已經是嚴重故障了。
因為理財平臺的這200筆交易,只佔了總交易量的10%,問題被其他交易掩蓋了。如果這些細微的隱患不及時發現,以後會逐漸演變為更大範圍、更嚴重的問題。
這就是細化監控對象、化大為小、見微知著的價值所在。作為一個運維人員,必須練就一雙慧眼,有一套神器,方能及時杜絕小隱患引發的大麻煩。
運維人員使用的軟體工具,必須具備細分監控對象的能力。華青融天的EZSonar系統(鷹眼),一個重要特點就是微監控,在數十家金融機構得到廣泛應用。
九陽神功第五重:龜息大法
這乾坤一氣袋密不通風,他在袋中耽了這許多時候,早已氣悶之極,仗著內功深湛,以綿綿龜息之法呼吸,需氣極少,這才支持了下來。——《倚天屠龍記》
江湖上有氣長命長之說,龜一次呼吸45秒一般壽命500年,人一次呼吸5秒一般壽命80年。要是看見一個人大口喘氣,上氣不接下氣,估計離掛掉不遠了。
所謂龜息大法,就是內功高手對生命節奏的掌控。從容淡定,方能應付裕如、行穩致遠也。
作為一個IT系統的運維人員,最重要的就是不要讓自己被虛假的無意義的信息淹沒,忙的四腳朝天,反而忽視了重要的問題。我們經常看到,大量軟硬體平臺和應用系統不斷發出告警信息,快速刷屏,在這種情況下,如何對告警進行高效的精準處理,分級、壓縮和降噪,去偽存真,及時識別真正的故障和隱患,就是最重大的課題了。
第一是減少誤告警。比如,某一時刻交易量突然降低,但只是暫時性波動,很快又恢復正常,這種異常是沒必要告警的。有些批處理也可能導致某一刻交易量突發,這種也屬正常情況,往往也不需要告警。
第二是準確把握業務的正常規律,精準地對異常業務流發出告警。這張圖顯示了對交易量的監控,利用大數據和機器學習技術,根據歷史數據產生動態基線,以基線來反映正常交易量的規律,如果真實的交易量與基線的差異過大,則說明發生了異動,此時才觸發告警,避免誤告警的發生。
第三是提升每一個告警的有效性,減少告警數量和頻次,通過告警關聯功能找出事件之間的聯繫,去除告警雜音,讓告警更加精準有效。
凡此種種,在告警的處理上要尋找一種平衡,通過智能的算法,反映實際業務的規律和異常事件間的關係,不漏報不誤報,讓運維人員應對從容。這就是華青融天EZSonar強調的「輕告警」。
九陽神功第六重:壁虎遊牆
趙敏笑道:「張公子,你的壁虎遊牆功當真了得,這陷阱是純鋼所鑄,打磨得滑不留手,連細縫也沒一條,你居然遊得上去!」——《倚天屠龍記》
一說到牆,當然聯想到運維部門的大屏。如今的運維大屏,不僅可視化效果美輪美奐,實時性也可以達到秒級,網絡、伺服器和應用的問題,第一時間上牆。數字和紅綠點線遊動跳躍,如同壁虎遊牆。
可視化做的好,各種實時數據集中直觀地顯示,是大屏的最大優點。一般都是從大屏發現了問題,才一步步向下鑽取,挖掘到問題的根源,所以一塊豐富而直觀的大屏、實時性的數據展現、隨心所欲的視圖定製、方便快捷的鑽取功能,是每個運維人員的夢想,也是衡量一個監控系統好壞的關鍵。
九陽神功第七重:諸毒不侵
這一役中,凡赴水閣飲宴之人,除了張無忌有九陽神功護體、諸毒不侵之外,所有明教首腦,無不中毒。——《倚天屠龍記》
無論硬體還是軟體,不出故障是不可能的,關鍵不是不出故障,而是怎樣預先做好充分準備,在故障出現時迅速解決,不讓故障給系統造成太大的毒害,所謂練就內功、百毒不侵也。
某天早晨,銀行接到客戶投訴,大量客戶在使用APP轉帳時出現交易失敗,問題在哪裡?是網絡有問題?還是轉帳系統有問題?隨著IT架構越來越龐雜,一次請求往往涉及到多個服務,有可能分布在幾千臺伺服器上,橫跨多個數據中心。為了看清交易整個流程每個環節的性能表現,以業務為中心、端到端部署的全鏈路性能監控需求由此產生。
舉例,上面是華青融天EZSonar(鷹眼)系統一個典型的銀行應用全鏈路圖。
我們可以看到,這裡有手機銀行WEB、手機銀行App、手機銀行F5、ESB前置(只聚焦手機銀行的內容),包括後面的ESB、核心、理財、資料庫,都是手機銀行相關板塊。
從這張圖可以清晰地看到,故障是因為理財平臺的延時過大導致的,整個業務路徑上,都出現了告警。可見,有了全鏈路視圖的幫助,判斷分析問題時就可以順藤摸瓜、一目了然。
九陽神功第八重:金剛不壞
這人是崆峒五老中位居第四的常敬之。他一拳命中對方要穴,見張無忌渾如不覺,大感詫異,衝口而出:「你⋯⋯你已練成『金剛不壞體』神功。——《倚天屠龍記》
練成金剛不壞功,就像悟空的鐵頭經過八卦爐的鍛造,任你刀砍火燒巋然不動,這當然是運維人員的最高追求。
如前文所說,既然故障的發生不可避免,運維人員的最大任務就是當故障出現時,儘快定位和解決問題,恢復生產,儘可能縮短MTTR(Mean time to repair,平均修復時間)。簡言之,就是快定位。
很多運維產品在設計時,缺乏對運維工作的深入理解,結果在使用中變成了花架子,不出事時看看大屏挺漂亮,一旦出事卻無法快速解決問題。所謂快定位,關注的是能否真正幫助運維人員縮短MTTR、提高效率,這才是衡量運維產品是否有用的金標準。
要做到快定位,練成金剛不壞之身,需要綜合運用前面所修煉的各項武功:
-通過輕告警,準確而及時地向用戶發出警報,提示系統發生了性能劣化或者故障,讓用戶第一時間聽風辨器,啟動處理流程。
- 通過全鏈路,快速定位故障發生的部位,並掌控故障影響的範圍和路徑。
- 通過微監控,深入鑽取故障出現的參數和場景,準確發現哪些系統或部門需要採取措施處理故障,及時通知有關人員處理問題,啟動應急響應流程,排除故障,恢復系統。
- 通過完備的日報系統,觀察每天系統運轉情況,全面掌控業務運行的整體態勢。
正所謂運用之妙存乎一心,當你修煉到第八重,八重功力已經在體內鍛成一體,達到統合綜效的境界,各種手段信手拈來運用自如,再複雜的系統也可以從容應對了。
九陽神功第九重:反噬金剛
那胖僧運勁於臂,猛擊張無忌胸口,正打在「羶穴」上。張無忌的九陽神功……不但將敵人打來的拳勁反彈了回去,更因對方這麼一擊,引動了他體內九陽真氣,勁上加勁,力貫力,那胖僧立時便即斃命。——《倚天屠龍記》
這九陽神功的最高一重境界,就不是一般人能達到的了。
從目前基於人力的運維到未來機器人開飛船,當然相隔千山萬水,需要科技方面的飛躍和無數人的努力,短期還做不到,但有一個領域已經有了巨大的突破,初步成果已經顯現,那就是當前熱點話題——AIOps,或者叫智能運維。
回顧歷史,早期的運維工作大部分是由運維人員手工完成的,被稱為手工運維或人肉運維。這種方式在網際網路業務快速擴張、人力成本高企的時代,難以維繫。自動化運維因此應運而生,基於用可被自動觸發的、預定義規則的腳本,執行重複性的運維工作,從而減少人力成本、提高效率。但隨著IT系統日益複雜,以及服務類型的複雜多樣,基於人為制定規則的專家系統逐漸變得力不從心。
AIOps隨之橫空出世,它不依賴於人為制定規則,主張由機器學習算法自動地從海量運維數據中學習,不斷提煉規則。基於機器學習的大腦,指揮監測系統採集大腦決策所需的數據,做出分析、決策,並指揮自動化腳本去執行,從而達到運維系統的整體目標。
不是由人設置規則處理數據,而是由算法自動從數據中學習規則,就像乾坤倒轉、反噬金剛。
AIOps系統的建設當然不是一蹴而就的,目前還處於初期階段,要不斷進階,逐步達到減少甚至取代人力的目標。
很多企業已經開始嘗試在系統運維中引入AIOps的理念,在一些環節上利用機器學習來提高效率,降低對人力的要求。
以華青融天的EZSonar(鷹眼)系統舉例,它的告警維度推薦功能就應用了AI技術。通常告警是對一組交易指標異常的反映,但具體是什麼因素引起的,例如是某個渠道、某種業務、還是某個主機異常,還需要人為定位分析,在處理告警的應急狀態下,人為排查非常費時費力。
EZSonar提供的維度智能推薦功能,就可以從歷史運維數據中自動發現規律,自動向用戶推薦可能的告警維度,大大減輕人的工作量。
上圖就是一個真實故障發生時,系統自動推薦的告警維度,自動發現了對方系統和交易類型,整個故障從告警發生到驗證,只用了30秒,對方也在20分鐘內解決了此故障。
此外,在動態告警基線、日誌智能解析、日誌降噪等方面,EZSonar也實現了基於AI的算法,在AIOps之路上邁出了堅實一步。
至此,帶大家遊歷了九陽神功的九重境界。
最後多說兩句,無論九陽神功還是倚天寶劍,都必須在內功深厚的人手中才能發揮效力。運維管理系統只是工具,必須與經驗豐富的人、完善的管理制度相結合,才能保障IT系統穩健運行。人在不斷使用運維系統的過程中,也會反哺運維系統,讓它日益強大。內修武功,外磨利器,人劍合璧,方能立於不敗之地。
這,才是九陽神功的真諦。(來源:北國網)
免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據。