監(jiān)控系統(tǒng)入門

本文主要科普一些監(jiān)控系統(tǒng)相關(guān)入門知識傅物。

時(shí)序數(shù)據(jù)

基礎(chǔ)概念

監(jiān)控的定義

監(jiān)控是收集和分析數(shù)據(jù)以確定業(yè)務(wù)應(yīng)用程序的性能夯辖,運(yùn)行狀況和可用性及其依賴的資源的行為。 有效的監(jiān)控策略可幫助用戶了解應(yīng)用程序組件的詳細(xì)進(jìn)程董饰,還可以通過主動通知關(guān)鍵問題來避免錯(cuò)誤發(fā)生蒿褂,以便在問題發(fā)生之前解決問題。

監(jiān)控的核心價(jià)值

下面簡單梳理一下監(jiān)控系統(tǒng)的核心價(jià)值:

  • 實(shí)時(shí)的數(shù)據(jù)查看
  • 歷史狀態(tài)回顧
  • 資源使用數(shù)據(jù)報(bào)表訂閱
  • 異常告警

時(shí)間序列

監(jiān)控面向的對象是時(shí)間序列的數(shù)據(jù)卒暂,那么時(shí)間序列的數(shù)據(jù)有什么樣的特征呢啄栓?

  1. 嚴(yán)格按時(shí)間順序進(jìn)行排序的一組隨機(jī)變量
  2. 每個(gè)變量都包含有時(shí)間戳及值
  3. 常見的時(shí)間序列,包括服務(wù)器cpu利用率也祠、服務(wù)請求速率等
  4. 非常有用昙楚,能夠反映服務(wù)的當(dāng)前狀態(tài)、在合理分析后能夠?qū)ξ磥淼内厔葸M(jìn)行預(yù)測
時(shí)間序列

時(shí)間序列數(shù)據(jù)庫

大數(shù)據(jù)時(shí)代诈嘿,各種軟硬件設(shè)備聯(lián)網(wǎng)堪旧,需要連續(xù)監(jiān)控削葱,將會產(chǎn)生大量的時(shí)間序列的數(shù)據(jù),針對這一類的數(shù)據(jù)如何針對性地進(jìn)行存儲和聚合查詢呢淳梦?作為這一類數(shù)據(jù)存儲的基礎(chǔ)設(shè)施的時(shí)間序列數(shù)據(jù)庫誕生了析砸。

時(shí)間序列數(shù)據(jù)庫是一種針對時(shí)間序列特點(diǎn)進(jìn)行優(yōu)化,專用于處理時(shí)間序列數(shù)據(jù)的軟件系統(tǒng)爆袍。 從2000年左右出現(xiàn)首繁,在2014年被DB-Engine列為獨(dú)立的數(shù)據(jù)類型進(jìn)行排名。 典型實(shí)現(xiàn):InfluxDB\OpenTSDB\TimescaleDB\Prometheus等螃宙。

從下圖我們可以看到蛮瞄,自2018年以來,時(shí)間序列數(shù)據(jù)庫的受歡迎程度突飛猛進(jìn)谆扎,這也是當(dāng)前大數(shù)據(jù)時(shí)代發(fā)展的必然要求挂捅。


JUN-2019-Categories-1.png

下圖是來自DB-Engine關(guān)于當(dāng)前流行的時(shí)間序列數(shù)據(jù)庫的排名,比較值得我們重點(diǎn)關(guān)注的是InfluxDB\OpenTSDB\Prometheus堂湖,后續(xù)我也會寫專門的文章介紹這三個(gè)時(shí)間序列數(shù)據(jù)庫闲先。


JUN-2019-Matrix2.png

監(jiān)控系統(tǒng)的分類

根據(jù)Peter Bourgon.2017年分布式追蹤峰會上提出的Metrics, Tracing 和 Logging 的關(guān)系,他將業(yè)界所有監(jiān)控系統(tǒng)劃分為如下三類:

image.png

  1. Logging:即日志監(jiān)控 无蜂。
    記錄系統(tǒng)發(fā)生的離散事件伺糠。如:
  • 用戶的某次特殊操作
  • 實(shí)例異常離線
  1. Metrics:即指標(biāo)監(jiān)控 。
    反映系統(tǒng)狀態(tài)的聚合型數(shù)據(jù)斥季,從形式上來看训桶,指標(biāo)為時(shí)間序列。如:
  • cpu利用率
  • 磁盤讀速率
  1. Tracing:即分布式追蹤酣倾。
    請求處理鏈相關(guān)的監(jiān)控?cái)?shù)據(jù)舵揭,也是離散型。
  • 每個(gè)請求的處理狀態(tài)
  • 哪些節(jié)點(diǎn)在處理特定請求時(shí)失敗
  • 哪些節(jié)點(diǎn)在處理特定請求時(shí)響應(yīng)慢

宏觀上看躁锡,指標(biāo)監(jiān)控的內(nèi)容主要包括的內(nèi)容如下:

  • 主機(jī)狀態(tài)監(jiān)控:監(jiān)控計(jì)算機(jī)的 CPU午绳、內(nèi)存狀態(tài)等
  • 應(yīng)用狀態(tài)監(jiān)控:監(jiān)控系統(tǒng)中的應(yīng)用程序的狀態(tài),如資源占用情況映之、失敗重啟情況等
  • 網(wǎng)絡(luò)與連接監(jiān)控:監(jiān)控網(wǎng)絡(luò)的帶寬使用情況拦焚、延遲與丟包情況等
  • 集群狀態(tài)監(jiān)控:監(jiān)控集群中節(jié)點(diǎn)的生命周期、節(jié)點(diǎn)的選舉情況等
  • 外部依賴監(jiān)控:監(jiān)控外部依賴的可用性等

指標(biāo)監(jiān)控系統(tǒng)的兩類實(shí)現(xiàn)模型

指標(biāo)Metrics類別的監(jiān)控系統(tǒng)有兩大類典型的實(shí)現(xiàn)模型杠输,分別是推模型和拉模型赎败。

拉模型
  • 服務(wù)端感知客戶端并決定從哪些客戶端拉取數(shù)據(jù)
  • 服務(wù)端決定數(shù)據(jù)采集頻率
  • 服務(wù)端和客戶端必須保證在同一網(wǎng)絡(luò)平面里
拉模型
推模型
  • 服務(wù)端不感知客戶端,客戶端主動感知服務(wù)端
  • 客戶端決定數(shù)據(jù)的采集頻率
  • 服務(wù)端和客戶端可以不在同一網(wǎng)絡(luò)平面里蠢甲,如客戶端在
    NAT設(shè)備之后
推模型

監(jiān)控系統(tǒng)一般架構(gòu)

監(jiān)控系統(tǒng)的話題很大僵刮,隨著業(yè)務(wù)的復(fù)雜,也會衍生出各種各樣不同的形態(tài)。但總體上繞不開三個(gè)部分:

  • 采集
  • 存儲
  • 報(bào)警

更加細(xì)節(jié)一點(diǎn)妓笙,監(jiān)控系統(tǒng)所要回答的基本問題包括:

  • 監(jiān)控?cái)?shù)據(jù)由誰采集?怎么采集能岩?怎么上報(bào)寞宫?
  • 監(jiān)控?cái)?shù)據(jù)如何處理?例如拉鹃,怎么做固定閾值的報(bào)警判斷辈赋?動態(tài)閾值的報(bào)警判斷?未來擴(kuò)容需求的預(yù)測膏燕?
  • 監(jiān)控?cái)?shù)據(jù)是如何被存儲的钥屈?
  • 監(jiān)控?cái)?shù)據(jù)是如何聚合和展示的?

因此坝辫,在設(shè)計(jì)一般的監(jiān)控系統(tǒng)時(shí)篷就,會包括如下的組件:

  • 采集: 獲取來自包括操作系統(tǒng),傳感器近忙、隊(duì)列竭业、數(shù)據(jù)庫和網(wǎng)絡(luò)等任何地方的一切數(shù)據(jù),包括metrics, events, logs還是traces及舍,并且將他們存儲在一個(gè)高性能的未辆、每秒能夠處理上百萬條數(shù)據(jù)服務(wù)器上。
  • 處理: 對數(shù)據(jù)進(jìn)行高效地分析锯玛、聚合咐柜、處理,包括機(jī)器學(xué)習(xí)攘残。
  • 動作: 實(shí)現(xiàn)自動化拙友。只需單擊即可設(shè)置警報(bào)或根據(jù)機(jī)器學(xué)習(xí)算法執(zhí)行復(fù)雜的異常檢測。發(fā)送警報(bào)給Slack肯腕,SMS和PagerDuty等熱門服務(wù)献宫。創(chuàng)建自定義觸發(fā)器以執(zhí)行任何操作。
監(jiān)控系統(tǒng)架構(gòu)

參考資料

  1. An Introduction to Metrics, Monitoring, and Alerting
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末实撒,一起剝皮案震驚了整個(gè)濱河市姊途,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌知态,老刑警劉巖捷兰,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異负敏,居然都是意外死亡贡茅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顶考,“玉大人赁还,你說我怎么就攤上這事【匝兀” “怎么了艘策?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渊季。 經(jīng)常有香客問我朋蔫,道長,這世上最難降的妖魔是什么却汉? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任驯妄,我火速辦了婚禮,結(jié)果婚禮上合砂,老公的妹妹穿的比我還像新娘青扔。我一直安慰自己,他們只是感情好既穆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布赎懦。 她就那樣靜靜地躺著,像睡著了一般幻工。 火紅的嫁衣襯著肌膚如雪励两。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天囊颅,我揣著相機(jī)與錄音当悔,去河邊找鬼。 笑死踢代,一個(gè)胖子當(dāng)著我的面吹牛盲憎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胳挎,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼饼疙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慕爬?” 一聲冷哼從身側(cè)響起窑眯,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎医窿,沒想到半個(gè)月后磅甩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姥卢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年卷要,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渣聚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧叉,死狀恐怖奕枝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓶堕,我是刑警寧澤倍权,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站捞烟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏当船。R本人自食惡果不足惜题画,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望德频。 院中可真熱鬧苍息,春花似錦、人聲如沸壹置。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钞护。三九已至盖喷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間难咕,已是汗流浹背课梳。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留余佃,地道東北人暮刃。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓副签,卻偏偏與公主長得像厦幅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子踪宠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348