自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

想吃透監(jiān)控系統(tǒng),就這一篇夠不夠?

原創(chuàng)
安全 應(yīng)用安全
經(jīng)濟(jì)高速發(fā)展的今天,我們處于信息大爆炸的時代。隨著經(jīng)濟(jì)發(fā)展,信息借助互聯(lián)網(wǎng)的力量在全球自由地流動,于是就催生了各種各樣的服務(wù)平臺和軟件系統(tǒng)。

【51CTO.com原創(chuàng)稿件】經(jīng)濟(jì)高速發(fā)展的今天,我們處于信息大爆炸的時代。隨著經(jīng)濟(jì)發(fā)展,信息借助互聯(lián)網(wǎng)的力量在全球自由地流動,于是就催生了各種各樣的服務(wù)平臺和軟件系統(tǒng)。

[[278183]] 

圖片來自 Pexels

由于業(yè)務(wù)的多樣性,這些平臺和系統(tǒng)也變得異常的復(fù)雜。如何對其進(jìn)行監(jiān)控和維護(hù)是我們 IT 人需要面對的重要問題。就在這樣一個紛繁復(fù)雜地環(huán)境下,監(jiān)控系統(tǒng)粉墨登場了。

今天,我們會對 IT 監(jiān)控系統(tǒng)進(jìn)行介紹,包括其功能,分類,分層;同時也會介紹幾款流行的監(jiān)控平臺。

監(jiān)控系統(tǒng)的功能

在 IT 運(yùn)維過程中,常遇到這樣的情況:

  • 某個業(yè)務(wù)模塊出現(xiàn)問題,運(yùn)維人員并不知道,發(fā)現(xiàn)的時候問題已經(jīng)很嚴(yán)重了。
  • 系統(tǒng)出現(xiàn)瓶頸了,CPU 占用持續(xù)升高,內(nèi)存不足,磁盤被寫滿;網(wǎng)絡(luò)請求突增,超出網(wǎng)關(guān)承受的壓力。

以上這些問題一旦發(fā)生,會對我們的業(yè)務(wù)產(chǎn)生巨大的影響。因此,每個公司或者 IT 團(tuán)隊都會針對此類情況建立自己的 IT 監(jiān)控系統(tǒng)。

 

監(jiān)控系統(tǒng)工作流程圖

其功能包括:

  • 對服務(wù),系統(tǒng),平臺的運(yùn)行狀態(tài)實(shí)時監(jiān)控。
  • 收集服務(wù),系統(tǒng),平臺的運(yùn)行信息。
  • 通過收集信息的分析結(jié)果,預(yù)知存在的故障風(fēng)險,并采取行動。
  • 根據(jù)對風(fēng)險的評估,進(jìn)行故障預(yù)警。
  • 一旦發(fā)生故障,第一時間發(fā)出告警信息。
  • 通過監(jiān)控數(shù)據(jù),定位故障,協(xié)助生成解決方案。
  • 最終保證系統(tǒng)持續(xù)、穩(wěn)定、安全運(yùn)行。
  • 監(jiān)控數(shù)據(jù)可視化,便于統(tǒng)計,按照一定周期導(dǎo)出、歸檔,用于數(shù)據(jù)分析和問題復(fù)盤。

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

既然監(jiān)控系統(tǒng)對我們意義重大,針對不同場景把監(jiān)控系統(tǒng)分為三類,分別是:

  • 日志類
  • 調(diào)用鏈類
  • 度量類

日志類

通常我們在系統(tǒng)和業(yè)務(wù)級別上加入一些日志代碼,記錄一些日志信息,方便我們在發(fā)現(xiàn)問題的時候查找。

這些信息會與事件做相關(guān),例如:用戶登錄,下訂單,用戶瀏覽某件商品,一小時以內(nèi)的網(wǎng)關(guān)流量,用戶平均響應(yīng)時間等等。

這類以日志的記錄和查詢的解決方案比較多。比如 ELK 方案(Elasticsearch+Logstash+Kibana),使用ELK(Elasticsearch、Logstash、Kibana)+Kafka/Redis/RabbitMQ 來搭建一個日志系統(tǒng)。

 

ELK 結(jié)合 Redis/Kafka/RabbitMQ 實(shí)現(xiàn)日志類監(jiān)控

程序內(nèi)部通過 Spring AOP 記錄日志,Beats 收集日志文件,然后用 Kafka/Redis/RabbitMQ 將其發(fā)送給 Logstash,Logstash 再將日志寫入 Elasticsearch。

最后,使用 Kibana 將存放在 Elasticsearch 中的日志數(shù)據(jù)顯示出來,形式可以是實(shí)時數(shù)據(jù)圖表。

調(diào)用鏈類

對于服務(wù)較多的系統(tǒng),特別是微服務(wù)系統(tǒng)。一次服務(wù)的調(diào)用有可能涉及到多個服務(wù)。A 調(diào)用 B,B 又要調(diào)用 C,好像一個鏈條一樣,形成了服務(wù)調(diào)用鏈。

調(diào)用鏈就是記錄一個請求經(jīng)過所有服務(wù)的過程。請求從開始進(jìn)入服務(wù),經(jīng)過不同的服務(wù)節(jié)點(diǎn)后,再返回給客戶端,通過調(diào)用鏈參數(shù)來追蹤全鏈路行為。從而知道請求在哪個環(huán)節(jié)出了故障,系統(tǒng)的瓶頸在哪兒。

調(diào)用鏈監(jiān)控的實(shí)現(xiàn)原理如下:

①Java 探針,字節(jié)碼增強(qiáng)

 

Java 代碼運(yùn)行原理圖

在介紹這種方式之前,我們先來復(fù)習(xí)一下 Java 代碼運(yùn)行的原理。通常我們會把 Java 源代碼,通過“Java 編譯器”編譯成 Class 文件。再把這個 Class 的字節(jié)碼文件裝載到“類裝載器”中進(jìn)行字節(jié)碼的驗(yàn)證。

最后,把驗(yàn)證過后的字節(jié)碼發(fā)送到“Java 解釋器”和“及時編譯器”交給“Java 運(yùn)行系統(tǒng)”運(yùn)行。

Java 探針,字節(jié)碼增強(qiáng)的方式就是利用 Java 代理,這個代理是運(yùn)行方法之前的攔截器。

在 JVM 加載 Class 二進(jìn)制文件的時候,利用 ASM 動態(tài)的修改加載的 Class 文件,在監(jiān)控的方法前后添加需要監(jiān)控的內(nèi)容。

例如:添加計時語句,用于記錄方法耗時。將方法耗時存入處理器,利用棧先特性(先進(jìn)后出)處理方法調(diào)用順序。

每當(dāng)請求處理結(jié)束后,將耗時方法和入?yún)?map 輸出到文件中,然后根據(jù) map 中相應(yīng)參數(shù),區(qū)分出耗時業(yè)務(wù)。

最后將相應(yīng)耗時文件取下來,轉(zhuǎn)化為 xml 格式并進(jìn)行解析,通過瀏覽器將代碼分層結(jié)構(gòu)展示出來。

 

Java 探針工具原理圖

備注:ASM 是一個 Java 字節(jié)碼操縱框架,它可以動態(tài)生成類或者增強(qiáng)既有類的功能。

ASM 可以直接產(chǎn)生二進(jìn)制 Class 文件,可以在類被載入 Java 虛擬機(jī)之前改變類行為。

Java Class 被存儲在 .class文件里,文件擁有元數(shù)據(jù)來解析類中的元素:類名稱、方法、屬性以及 Java 字節(jié)碼(指令)。

ASM 從類文件中讀入信息后,能夠改變類行為,分析類信息,甚至能夠生成新類。

②攔截請求

獲取每次請求服務(wù)中的信息來實(shí)現(xiàn)跟蹤的。這里以 Zipkin+Slueth 為例說明其原理。

Sleuth 提供鏈路追蹤。由于一個請求會涉及到多個服務(wù)的互相調(diào)用,而這種調(diào)用往往成鏈?zhǔn)浇Y(jié)構(gòu),經(jīng)過多次層層調(diào)用以后請求才會返回。常常使用 Sleuth 追蹤整個調(diào)用過程,方便理清服務(wù)間的調(diào)用關(guān)系。

 

Sleuth 服務(wù)調(diào)用追蹤圖例

每次請求都會生成一個 Trace ID,如上圖所示這個 Trace ID 在整個 Request 和 Response 過程中都會保持一致,不論經(jīng)過了多少個服務(wù)。這是為了方便記錄一次調(diào)用的整個生命周期。

再看每次請求的時候都會有一個 Span ID,這里的 Span 是 Sleuth 服務(wù)跟蹤的最小單元,每經(jīng)過一個服務(wù),每次 Request 和 Response 這個值都會有所不同,這是為了區(qū)分不同的調(diào)用動作。

針對每個調(diào)用的動作,Sleuth 都做了標(biāo)示如下:

  • Server Received 是服務(wù)器接受,也就是服務(wù)端接受到請求的意思。
  • Client Sent 是客戶端發(fā)送,也就是這個服務(wù)本身不提供響應(yīng),需要調(diào)用其他的服務(wù)提供該響應(yīng),所以這個時候是作為客戶端發(fā)起請求的。
  • Server Sent 是服務(wù)端發(fā)送,看上圖SERVICE 3 收到請求后,由于他是最終的服務(wù)提供者,所以作為服務(wù)端,他需要把請求發(fā)送給調(diào)用者。
  • Client Received 是客戶端接受,作為發(fā)起調(diào)用的客戶端接受到服務(wù)端返回的請求。

實(shí)際上 Sleuth 就是通過上述方式把每次請求記錄一個統(tǒng)一的 Trace ID,每個請求的詳細(xì)步驟記作 Span ID。

每次發(fā)起請求或者接受請求的狀態(tài)分別記錄成 Server Received,Client Sent,Server Sent,Client Received 四種狀態(tài)來完成這個服務(wù)調(diào)用鏈路的跟蹤的。

 

Sleuth 服務(wù)調(diào)用追蹤圖例

在調(diào)用服務(wù)的鏈路上每個被調(diào)用的服務(wù)節(jié)點(diǎn)都會通過 Parent ID 來記錄發(fā)起調(diào)用服務(wù)的 Span ID,由于 Span ID 是唯一確認(rèn)最小服務(wù)單元的,所以知道了 Parent 的 Span ID 也就知道了誰調(diào)用自己了。

度量類

實(shí)現(xiàn)了時序數(shù)據(jù)庫(TimeSeriesData,TSD)的監(jiān)控方案。實(shí)際上就是記錄一串以時間為維度的數(shù)據(jù),然后再通過聚合運(yùn)算,查看指標(biāo)數(shù)據(jù)和指標(biāo)趨勢。說白了,就是描述某個被測主體在一段時間內(nèi)的測量值變化(度量)。

由于 IT 基礎(chǔ)設(shè)施,運(yùn)維監(jiān)控和互聯(lián)網(wǎng)監(jiān)控的特性,這種方式被廣泛應(yīng)用。一般對時序數(shù)據(jù)進(jìn)行建模分為三個部分,分別是:主體,時間點(diǎn)和測量值。

通過這個例子來看一下,時序數(shù)據(jù)庫的數(shù)學(xué)模型,例如:需要監(jiān)控服務(wù)器的 In/Out 平均流量:

  • 整個監(jiān)控的數(shù)據(jù)庫稱為“Metric”,它包含了所有監(jiān)控的數(shù)據(jù)。類似關(guān)系型數(shù)據(jù)庫中的 Table。
  • 每條監(jiān)控數(shù)據(jù),稱為“Point”,類似于關(guān)系型數(shù)據(jù)庫中的 Row 的概念。
  • 每個“Point”都會定義一個時間戳“Timestamp”,將其作為索引,表明數(shù)據(jù)采集的時間。
  • “Tag”作為維度列,表示監(jiān)控數(shù)據(jù)的屬性。
  • “Field”作為指標(biāo)列,作為測量值,也就是測量的結(jié)果。

 

時序數(shù)據(jù)庫數(shù)據(jù)模型圖例

時序數(shù)據(jù)庫的存儲原理,關(guān)系型數(shù)據(jù)庫存儲采用的是 B tree,雖然降低了數(shù)據(jù)查詢的磁盤尋道時間,但是無法解決大量數(shù)據(jù)寫入時的磁盤效率。

由于監(jiān)控系統(tǒng)的應(yīng)用場景,經(jīng)常會遇到大批量的數(shù)據(jù)寫入,所以我們會選擇 LSMtree(Log Structured Merge Tree)存儲時序數(shù)據(jù)庫。

LSMtree(Log Structured Merge Tree),從字面意義上理解,記錄的數(shù)據(jù)按照日志結(jié)構(gòu)(Log Structured)追加到系統(tǒng)中,然后通過合并樹(Merge Tree)的方式將其合并。

來看一個 LevelDB 的例子,方便我們理解,LSM-tree 被分成三種文件:

  • 接收寫入請求的 memtable 文件(內(nèi)存中)
  • 不可修改的 immutable memtable 文件(內(nèi)存中)
  • 磁盤上的 SStable文件(Sorted String Table),有序字符串表,這個有序的字符串就是數(shù)據(jù)的key。SStable 一共有七層(L0 到 L6)。下一層的總大小限制是上一層的 10 倍。

 

LSMtree LevelDB 存儲示意圖

LSMtree 寫入流程:

  • 將數(shù)據(jù)追加到日志 WAL(Write Ahead Log)中,寫入日志的目的是為了防止內(nèi)存數(shù)據(jù)丟失,可以及時恢復(fù)。
  • 把數(shù)據(jù)寫到 memtable 中。
  • 當(dāng) memtable 滿了(超過一定閥值),就將這個 memtable 轉(zhuǎn)入 immutable memtable 中,用新的 memtable 接收新的數(shù)據(jù)請求。
  • immutablememtable 一旦寫滿了, 就寫入磁盤。并且先存儲 L0 層的 SSTable 磁盤文件,此時還不需要做文件的合并。

每層的所有文件總大小是有限制的(8MB,10MB,100MB… 1TB)。從 L1 層往后,每下一層容量增大十倍。

  • 某一層的數(shù)據(jù)文件總量超過閾值,就在這一層中選擇一個文件和下一層的文件進(jìn)行合并。

如此這般上層的數(shù)據(jù)都是較新的數(shù)據(jù),查詢可以從上層開始查找,依次往下,并且這些數(shù)據(jù)都是按照時間序列存放的。

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

談完了監(jiān)控系統(tǒng)的分類,再來聊聊監(jiān)控系統(tǒng)的分層。用戶請求到數(shù)據(jù)返回,經(jīng)歷系統(tǒng)中的層層關(guān)卡。

 

監(jiān)控系統(tǒng)分層示意圖

一般我們將監(jiān)控系統(tǒng)分為五層來考慮,當(dāng)然也有人分成三層,大致的意思都差不多,僅供參考:

  • 客戶端監(jiān)控,用戶行為信息,業(yè)務(wù)返回碼,客戶端性能,運(yùn)營商,版本,操作系統(tǒng)等。
  • 業(yè)務(wù)層監(jiān)控,核心業(yè)務(wù)的監(jiān)控,例如:登錄,注冊,下單,支付等等。
  • 應(yīng)用層監(jiān)控,相關(guān)的技術(shù)參數(shù),例如:URL 請求次數(shù),Service 請求數(shù)量,SQL 執(zhí)行的結(jié)果,Cache 的利用率,QPS 等等。
  • 系統(tǒng)層監(jiān)控,物理主機(jī),虛擬主機(jī)以及操作系統(tǒng)的參數(shù)。例如:CPU 利用率,內(nèi)存利用率,磁盤空間情況。
  • 網(wǎng)絡(luò)層監(jiān)控,網(wǎng)絡(luò)情況參數(shù)。例如:網(wǎng)關(guān)流量情況,丟包率,錯包率,連接數(shù)等等。

流行的監(jiān)控系統(tǒng)

前面講了監(jiān)控系統(tǒng)的功能,分類,分層,相信大家對 IT 監(jiān)控系統(tǒng)都有一定的了解了。

接下來,我們來看看有哪些優(yōu)秀實(shí)踐。這里介紹兩個比較流行的監(jiān)控系統(tǒng):

  • Zabbix
  • Prometheus

Zabbix

Zabbix 是一款企業(yè)級的分布式開源監(jiān)控方案。它由 Alexei Vladishev 創(chuàng)建,由 Zabbix SIA 在持續(xù)開發(fā)和支持。

Zabbix 能夠監(jiān)控網(wǎng)絡(luò)參數(shù),服務(wù)器健康和軟件完整性。它提供通知機(jī)制,允許用戶配置告警,從而快速反饋問題。

基于存儲的數(shù)據(jù),Zabbix 提供報表和數(shù)據(jù)可視化,并且支持主動輪詢和被動捕獲。它的所有報告、統(tǒng)計信息和配置參數(shù)都可以通過 Web 頁面訪問。

Zabbix 的 API 功能,完善度很高,大部分操作都提供了 API 接口,方便和現(xiàn)有系統(tǒng)整合。

例如:通過歷史數(shù)據(jù)查詢 API,獲取線上服務(wù)器使用情況,生成報表;設(shè)置條件,對問題服務(wù)器和問題業(yè)務(wù)進(jìn)行篩選,加入告警。

利用 Zabbix graph 的 API,生成關(guān)鍵指標(biāo)趨勢圖,方便運(yùn)維人員實(shí)時了解系統(tǒng)情況。利用告警添加 API,讓監(jiān)控系統(tǒng)和部署系統(tǒng)聯(lián)動。

比如新部署了一個新實(shí)例,那么自動添加所需要的監(jiān)控策略;反之,下線一個實(shí)例,就刪除關(guān)聯(lián)的監(jiān)控策略。

Zabbix 由 Server,Agent,Proxy(可選項)組成:

  • Agent 負(fù)責(zé)收集數(shù)據(jù),并且傳輸給 Server。
  • Server 負(fù)責(zé)接受 Agent 的數(shù)據(jù),進(jìn)行保存或者告警。
  • Proxy 負(fù)責(zé)代理 Server 收集 Agent 傳輸?shù)臄?shù)據(jù),并且轉(zhuǎn)發(fā)給 Server。Proxy 是安裝在被監(jiān)控的服務(wù)器上的,用來和 Server 端進(jìn)行通信,從而傳輸數(shù)據(jù)。

 

Zabbix 的部署模式

Zabbix 的數(shù)據(jù)采集,主要有兩種模式:Server 主動拉取數(shù)據(jù)和 Agent 主動上報數(shù)據(jù)。

以 Server 拉取數(shù)據(jù)為例,用戶在 Web-portal 中,設(shè)置需要監(jiān)控的機(jī)器,配置監(jiān)控項,告警策略。Zabbix-Server 會根據(jù)策略主動獲取 Agent 的數(shù)據(jù),然后存儲到 MySQL 中。

同時根據(jù)用戶配置的策略,判定是否需要告警。用戶可以在 Web 端,以圖表的形式,查看各種指標(biāo)的歷史趨勢。

在 Zabbix 中,將 Server 主動拉取數(shù)據(jù)的方式稱之為 Active Check。這種方式配置起來較為方便,但是會對 Zabbix-Server 的性能存在影響。

所以在生產(chǎn)環(huán)境中,一般會選擇主動推送數(shù)據(jù)到 Zabbix-Server 的方式,稱之為 Trapper。

即用戶可以定時生成數(shù)據(jù),再按照 Zabbix 定義的數(shù)據(jù)格式,批量發(fā)送給 Zabbix-Server,這樣可以大大提高 Server 的處理能力。

Proxy,作為可選項,起到收集 Agent 數(shù)據(jù)并且轉(zhuǎn)發(fā)到 Server 的作用。

當(dāng) Server 和 Agent 不在一個網(wǎng)絡(luò)內(nèi),就需要使用 Proxy 做遠(yuǎn)程監(jiān)控,特別是遠(yuǎn)程網(wǎng)絡(luò)有防火墻的時候。同時它也可以分擔(dān) Server 的壓力,降低 Server 處理連接數(shù)的開銷。

Prometheus(普羅米修斯)

隨著這幾年云環(huán)境的發(fā)展,Prometheus 被廣泛地認(rèn)可。它的本質(zhì)是時間序列數(shù)據(jù)庫,而 Zabbix 采用 MySQL 進(jìn)行數(shù)據(jù)存儲。

從上面我們對時間序列數(shù)據(jù)庫的分析來看,Prometheus 能夠很好地支持大量數(shù)據(jù)的寫入。

它采用拉的模式(Pull)從應(yīng)用中拉取數(shù)據(jù),并通過 Alert 模塊實(shí)現(xiàn)監(jiān)控預(yù)警。據(jù)說單機(jī)可以消費(fèi)百萬級時間序列。

一起來看看 Prometheus 的幾大組件:

  • Prometheus Server,用于收集和存儲時間序列數(shù)據(jù),負(fù)責(zé)監(jiān)控數(shù)據(jù)的獲取,存儲以及查詢。
  • 監(jiān)控目標(biāo)配置,Prometheus Server 可以通過靜態(tài)配置管理監(jiān)控目標(biāo),也可以配合 Service Discovery(K8s,DNS,Consul)實(shí)現(xiàn)動態(tài)管理監(jiān)控目標(biāo)。
  • 監(jiān)控目標(biāo)存儲,Prometheus Server 本身就是一個時序數(shù)據(jù)庫,將采集到的監(jiān)控數(shù)據(jù)按照時間序列存儲在本地磁盤中。
  • 監(jiān)控數(shù)據(jù)查詢,Prometheus Server 對外提供了自定義的 PromQL 語言,實(shí)現(xiàn)對數(shù)據(jù)的查詢以及分析。
  • Client Library,客戶端庫。為需要監(jiān)控的服務(wù)生成相應(yīng)的 Metrics 并暴露給 Prometheus Server。
  • 當(dāng) Prometheus Server 來 Pull 時,直接返回實(shí)時狀態(tài)的 Metrics。通常會和 Job 一起合作。
  • Push Gateway,主要用于短期的 Jobs。由于這類 Jobs 存在時間較短,可能在 Prometheus 來 Pull 之前就消失了。為此,這些 Jobs 可以直接向 Prometheus Server 端推送它們的 Metrics。
  • Exporters,第三方服務(wù)接口。將 Metrics(數(shù)據(jù)集合)發(fā)送給 Prometheus。
  • Exporter 將監(jiān)控數(shù)據(jù)采集的端點(diǎn),通過 HTTP 的形式暴露給 Prometheus Server,使其通過 Endpoint 端點(diǎn)獲取監(jiān)控數(shù)據(jù)。
  • Alertmanager,從 Prometheus Server 端接收到 Alerts 后,會對數(shù)據(jù)進(jìn)行處理。例如:去重,分組,然后根據(jù)規(guī)則,發(fā)出報警。
  • Web UI,Prometheus Server 內(nèi)置的 Express Browser UI,通過 PromQL 實(shí)現(xiàn)數(shù)據(jù)的查詢以及可視化。

 

Prometheus 架構(gòu)圖

說完了 Prometheus 的組件,再來看看 Prometheus 的架構(gòu):

  • Prometheus Server 定期從 Jobs/Exporters 中拉 Metrics。同時也可以接收來自 Pushgateway 發(fā)過來的 Metrics。
  • Prometheus Server 將接受到的數(shù)據(jù)存儲在本地時序數(shù)據(jù)庫,并運(yùn)行已定義好的 alert.rules(告警規(guī)則),一旦滿足告警規(guī)則就會向 Alertmanager 推送警報。
  • Alertmanager 根據(jù)配置文件,對接收到的警報進(jìn)行處理,例如:發(fā)出郵件告警,或者借助第三方組件進(jìn)行告警。
  • WebUI/Grafana/APIclients,可以借助 PromQL 對監(jiān)控數(shù)據(jù)進(jìn)行查詢。

最后將兩個工具進(jìn)行比較如下:

 

Zabbix 和 Prometheus 比較圖

從上面的比較可以看出:

  • Zabbix 的成熟度更高,上手更快。高集成度導(dǎo)致靈活性較差,在監(jiān)控復(fù)雜度增加后,定制難度會升高。而且使用的關(guān)系型數(shù)據(jù)庫,對于大規(guī)模的監(jiān)控數(shù)據(jù)插入和查詢是個問題。
  • Prometheus 上手難度大,定制靈活度高,有較多數(shù)據(jù)聚合的可能,而且有時序數(shù)據(jù)庫的加持。
  • 對于監(jiān)控物理機(jī)或者監(jiān)控環(huán)境相對穩(wěn)定的情況,Zabbix 有明顯優(yōu)勢。如果監(jiān)控場景多是云環(huán)境的話,推薦使用 Prometheus。

總結(jié)

 

監(jiān)控系統(tǒng)思維導(dǎo)圖

監(jiān)控系統(tǒng)對 IT 系統(tǒng)運(yùn)維意義重大,從狀態(tài)監(jiān)控到收集/分析數(shù)據(jù),到故障報警,以及問題解決,最后歸檔報表,協(xié)助運(yùn)維復(fù)盤。

監(jiān)控系統(tǒng)分為三大類,日志類,調(diào)用鏈類,度量類,他們有各自的特點(diǎn),且應(yīng)用場景各不相同。

因?yàn)橐獙φ麄€ IT 系統(tǒng)進(jìn)行監(jiān)控,所以將其分為五層,分別是,客戶端,業(yè)務(wù)層,應(yīng)用層,系統(tǒng)層,網(wǎng)絡(luò)層。

Zabbix 和 Prometheus 是當(dāng)下流行的監(jiān)控系統(tǒng),可以根據(jù)他們的特點(diǎn)選擇使用。

作者:崔皓

簡介:十六年開發(fā)和架構(gòu)經(jīng)驗(yàn),曾擔(dān)任過惠普武漢交付中心技術(shù)專家,需求分析師,項目經(jīng)理,后在創(chuàng)業(yè)公司擔(dān)任技術(shù)/產(chǎn)品經(jīng)理。善于學(xué)習(xí),樂于分享。目前專注于技術(shù)架構(gòu)與研發(fā)管理。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2019-07-18 08:10:01

Java開發(fā)代碼

2020-08-03 10:00:11

前端登錄服務(wù)器

2023-04-24 08:00:00

ES集群容器

2020-07-06 08:06:00

Java模塊系統(tǒng)

2020-05-14 16:35:21

Kubernetes網(wǎng)絡(luò)策略DNS

2023-02-10 09:04:27

2020-02-18 16:20:03

Redis ANSI C語言日志型

2022-06-20 09:01:23

Git插件項目

2023-02-16 13:42:00

MongoDB數(shù)據(jù)庫

2019-07-22 08:35:32

Java垃圾回收

2019-08-13 15:36:57

限流算法令牌桶

2022-08-01 11:33:09

用戶分析標(biāo)簽策略

2021-04-08 07:37:39

隊列數(shù)據(jù)結(jié)構(gòu)算法

2023-09-11 08:13:03

分布式跟蹤工具

2018-10-16 09:43:26

負(fù)載均衡TCPHTTP

2022-07-19 10:26:44

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

2019-05-14 09:31:16

架構(gòu)整潔軟件編程范式

2020-10-17 08:48:12

搞懂“智能聯(lián)接”

2018-05-22 08:24:50

PythonPyMongoMongoDB

2023-10-17 08:15:28

API前后端分離
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號