1. 程式人生 > >當我們談論監控時,我們在談論什麼?

當我們談論監控時,我們在談論什麼?

我們想像中的監控?

我們想像中監控無所不能,是個超人。需要什麼資料,它就能給我們什麼資料;需要找到故障根源,它就能及時告知我們故障根源。


現實中的監控

可事實上並非如此,我們對監控寄予了太多,想到的就加上去,導致它越來越胖,越來越臃腫,但似乎並未解決我們的問題。


目前的監控平臺和工具都很多,開源的、商業的、甚至我們自己開發的,但都真正的解決了我們的問題嗎?


種類多樣的監控工具


所以,多並不意味著好,或者說多並不意味著有用。真正解決問題即可,而不是將有用的沒用的監控一股腦的全部搞出來,這樣只會擾亂你的視線,分散你的注意力,影響你分析和梳理故障原因和效能瓶頸。

監控的目的

我們監控的目的到底是什麼?一個好的監控需要幫助我們解決以下問題。

  • 掌握系統健康狀況

  • 查詢故障根源

  • 系統瓶頸診斷

  • 效能調優

  • 排查安全隱患

故障排查過程


故障發生時,我們查CPU、記憶體、程序、網路等等,同時還要對日誌進行問題排查,php日誌、apache/nginx日誌、負載均衡及資料庫的日誌,很多時候我們排查日誌還是在使用shell命令與指令碼,對故障時間點日誌進行過濾,整個處理過程都是回溯狀態,無法做到實時,顯得手忙腳亂還無法讓我們儘快發現問題。另外,所有這些都是單點IT資源的問題排查,我們需要將各種監控聯絡起來分析考慮。
在微服務架構時代,這些單點資源的監控已經無法滿足我們的需求。

為什麼不理想?

  • 維度單一、排查點太多

  • 無法有效建立聯絡

  • 日誌處理困難

  • 不實時

  • 依賴經驗

我們的結論


監控必然面臨著以上幾個進化,從基礎到業務、從靜態到動態、從表象到本質。
面向業務的監控不僅僅關注技術層面的單點資源,而是關注整個業務系統的健康狀態。
在實際場景中,使用業務監控可以替代技術監控,而且更加簡單容易理解。
大量微服務如何同時監控?CPU?負載?顯然不是這樣。
同時又是我們平臺上服務自動伸縮的依據。

業務指標

響應時間

指負載均衡將請求發給後端服務節點,經過處理後,再由後端節點返回給負載均衡的時間。這個值可以有效評估當前服務節點的處理能力並結合吞吐率瞭解當前前端訪問的壓力大小。單位是毫秒(ms)。

線上人數

指10分鐘內訪問你的網站或服務的人數,通過此監控項可以直觀瞭解到線上使用者數。

吞吐率

指1分鐘內你的網站或服務的總訪問次數。

實時服務監控


服務效能分析

  • 多維度

  • 實時

  • 智慧

多維度使我們能夠從廣意上來全盤考慮,不再計較單一的資源情況,再好的把握多種監控資料之間的聯絡。
實時讓我們更快速的瞭解當前的系統狀態,而不是再回溯歷史。
智慧體現在對資料的處理排序上,抓住影響最大的關鍵點。

web服務效能分析


對過去5分鐘耗時最多的URL進行排行,分析一個web服務當前影響效能的最關鍵點。

mysql服務效能分析


從我們的經驗來說,對於解決資料庫的故障問題,查詢slowlog並不是最有效的方法,因為不一定最慢的是影響最大的,有些SQL是很慢,但數量並不多,也許1分鐘1條,但有些SQL的耗時並不大,可是數量巨大,對效能影響就非常高,而且並不出現在slowlog中,所以綜合耗時是關鍵。

通過服務效能分析可以直觀的看到當時的問題url與問題sql,對排查故障根源非常有效。

時間視窗

對於動態實時的監控有一個很重要的概念就是時間視窗


簡單來說就是一個 滑動視窗。固定好一個時間視窗對資料進行查詢統計。
因為資料流是持續不斷的,在對業務進行監控的時候,我們不會對所有的資料感興趣,而是對“最近五分鐘平均響應時間”、“最近十分鐘URL排行”以及“當前線上人數”這類問題更關心,要得到這些資料,通過時間視窗對資料的查詢計算即可解決我們的問題。

有哪些使用場景

  • 故障提前預知

  • 壓力測試

  • 效能調優

監控的終級目的

現在我們回過頭來再看看前文中說過的監控目的,這些目的其實都是一個“中間過程”,還停留在“把事兒給辦了”的階段,其實監控的終級目的或者說重要意義是“價值”。
我們不是為了監控而監控,是通過監控產生價值,產出利潤。對我們的業務提供幫助,讓業務來創造更多的價值。
所以我們不要將問題複雜化,要讓複雜變得簡單,才是我們的根本。

我們的理念

我們希望可以像用水、用電一樣使用雲端計算資源,來了就用,用了就爽!
歡迎志同道合的夥伴們加入,分享成功、分享快樂!

相關推薦

我們談論監控我們談論什麼?

我們想像中的監控? 我們想像中監控無所不能,是個超人。需要什麼資料,它就能給我們什麼資料;需要找到故障根源,它就能及時告知我們故障根源。 現實中的監控 可事實上並非如此,我們對監控寄予了太多,想到的就加上去,導致它越來越胖,越來越臃腫,但似乎並未解決我們的

我們談論multidex65535我們談論什麽

延遲 原則 sta erl tid 跳轉 一起 通過反射 倒置 本文來自網易雲社區作者:鄭文 首先我們並不在討論車牌號.本文盡量避免談論重復的技術點,只探討一下multidex提供給我們的技術啟示。 原理 multidex技術原理可以分成兩個部分: 在app啟

我們談Debug我們在談什麼(Debug實現原理)

本文將會講述JPDA的組成,Debugger的實現原理等。 程式異常了! 返回結果不對! 在我這兒正常啊。 每一次遇到這種異常的情況,要處理問題時,我們一定會想到 等我Debug一下,分分鐘解決。 而如果是線上的問題,我們一定會想 如果能debug一下該多好

我們反對996我們在反對什麽?

其他 為什麽 產品 崗位 業務 clas 分公司 我們 不能 前段時間,程序員在“GitHub發起抗議互聯網公司實行996工作制”的事件鬧得沸沸揚揚。事件發生時,小編偷偷問了一下隔壁的程序員小哥哥他們知不知道這個事情,結果他們竟然都知道!!!

談論設備指紋我們到底在說什麽?(轉)

框架 上層 三方 重裝系統 shtml storage 系統環境 rdquo 愛好 原標題:當談論設備指紋時,我們到底在說什麽? http://finance.ifeng.com/a/20170829/15621402_0.shtml   中新網8月29日電 &l

我們談論企業級存儲市場我們談論(做)了什麽

用戶界面 OS 兼容 open 應用 之間 bottom bad 部門 摘要: APSARA Block Storage是阿裏雲彈性計算塊存儲團隊推出的一款企業級分布式塊存儲產品,為企業級市場頭部客戶量身打造,構建高性能、彈性、可靠的大規模橫向擴展雲存儲服務平臺。可對接多種

談論特性團隊我們在談些什麼?

當談論特性團隊時我們在談些什麼 Part I: What and Why “對手剛出了個新功能,這個功能咱們之前也討論過,這次要做起來,要快,大約什麼時候能上線?” “得去找個人做需求和設計,還要約運營聊一下具體需求; 現在產品經理手頭都有別的事,要等; 需求出來後評審,評審完開發,單開發工作量,目測三天差

我們剛開始我們的碼農生涯我們該做些什麽

針對 復制 ips 開發環境 學習 分享圖片 朋友 例如 開始 最近公司新來了一個妹子,老大讓我帶。妹子大大的眼睛,一眨一眨的,灰常可愛。從她身上我仿佛看到了兩年前的自己,從面對業務的各種懵逼,到完不成任務時主動加班,有一種恍如隔日的感覺。所以想和大家聊聊當我們剛開始我們的

activity改變我們如何處理它

速度 change 假設 IT super conf In develop aras 用戶和系統觸發-的事件,可能造成一個activity狀體的改變。這個文檔描述了一些常見的情況,和如何去處理這些改變。 原網站:https://developer.android.googl

圖解 | 我們在讀寫 Socket 我們究竟在讀寫什麼?

套接字socket是大多數程式設計師都非常熟悉的概念,它是計算機網路程式設計的基礎,TCP/UDP收發訊息都靠它。我們熟悉的web伺服器底層依賴它,我們用到的MySQL關係資料庫、Redis記憶體資料庫底層依賴它。我們用微信和別人聊天也依賴它,我們玩網路遊戲時依賴它,讀者們能夠閱讀這篇文章也是因為有

我們說"TCP是可靠協議"我們真正表達的是什麼

很明確地說,從通訊意義上推敲,TCP一點都不可靠。一個抽象的協議,怎麼可能左右介質來保證可靠,不存在的。但凡是經由某種介質的通訊行為均不可能是絕對可靠的! 正好比我們現實生活中的保險,其實它什麼都不能阻止,什麼風險也保證不了它的不發生,它保證不了飛機不會掉下來

【轉載】【計算機網路】【TCP】我們說"TCP是可靠協議"我們真正表達的是什麼?

很明確地說,從通訊意義上推敲,TCP一點都不可靠。一個抽象的協議,怎麼可能左右介質來保證可靠,不存在的。但凡是經由某種介質的通訊行為均不可能是絕對可靠的! 正好比我們現實生活中的保險,其實它什麼都不能阻止,什麼風險也保證不了它的不發生,它保證不了飛機不會掉下來

運維人不再青年我們該何去何從?

今天是五四青年節,首先祝廣大運維人節日快樂~ 什麼是青年?哪個年齡段是青年?小編我還真花時間查閱了一番: 1)國際組織對青年的界定: 聯合國:15-24歲的人為青年。 世界衛生組織:14-44歲的人為青年。 聯合國教科文組織:14-34歲的人為青年。 2)我國對青年的界定: 國家統計局:15

【peterli_xue的專欄】我們處在一個舒服的領域我們就很難做出有重大意義的事;General George S. Patton曾說過的話:‘今日大力執行一個好的計劃遠比明日執行一個完美的計劃要好的多

當我們處在一個舒服的領域時,我們就很難做出有重大意義的事;General George S. Patton曾說過的話:‘今日大力執行一個好的計劃遠比明日執行一個完美的計劃要好的多...

我們討論TCP的連線運輸管理我們在說什麼

TCP連線管理概述 TCP是面向連線的協議。運輸連線是用來傳送TCP報文的。TCP的連線和釋放是每一次面向連線的通訊中必不可少的過程。因此,運輸連線就有三個階段,即:連線建立,資料傳輸和連線釋放。運輸連線的管理就是使運輸連線的建立和釋放都可以正常的進行。 在TCP連線的建立過程中要解決一下三個問題。 1

我們訪問網頁伺服器和瀏覽器做了什麼?

1. 首先,在瀏覽器裡輸入網址:2. 瀏覽器查詢域名的IP地址導航的第一步是通過訪問的域名找出其IP地址。DNS查詢過程如下:瀏覽器快取 – 瀏覽器會快取DNS記錄一段時間。 作業系統沒有告訴瀏覽器儲存DNS記錄的時間,這樣不同瀏覽器會儲存個自固定的一個時間(2分鐘到30分鐘

我們討論性能測試我們在說什麽?

處理方法 負載均衡 wid bsp 使用場景 方法 業務流程 故障 abi 說起性能測試,大家會想到哪些詞?錄制腳本、模擬高並發?性能需求分析、業務流程梳理?監控資源耗用、性能瓶頸定位?優化代碼處理邏輯、提升服務器配置? 但這真的是性能測試的本質和最終目的麽?這篇博客,聊

我們聊kubernetes operator我們在聊些什麼

不聊什麼 在開始聊operator前,先說說這篇文章裡我們不聊什麼。我們這裡不聊operator的具體實現,不聊operator的由來歷史,不聊operator的hello world。如果想了解這些,其實可以從別的很多文章中可以查詢到。這裡我們把一些常見的概念,如docker、controller、Helm

我們在討論CQRS我們在討論些神馬?

當我寫下這個標題的時候,我就有些後悔了,題目有點大,不太好控制。但我還是打算嘗試一下,通過這篇內容來說清楚CQRS模式,以及和這個模式關聯的其它東西。希望我能說得清楚,你能看得明白,如果覺得不錯,右下角點個推薦! 先從CQRS說起,CQRS的全稱是Command Query Responsibility Se

我們追蹤原始碼要追蹤到什麼程度?

原始碼追蹤,是所有開發工程師要邁出的一道門檻。不會原始碼追蹤,或者不習慣於研究出色開源元件的原始碼,註定會限制自己的成長,也無法廣泛借鑑更多的程式設計技巧和工程思想。不會追蹤原始碼,就像是不會識字的文盲,沒辦法在海量的知識海洋中遨遊與成長。 前兩天看到一篇知乎熱文:《你都有哪些面試時被虐的經歷?》,以極其幽默