偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

架構(gòu)師面試:怎樣規(guī)劃公司的監(jiān)控架構(gòu)?

安全 應(yīng)用安全
當我們使用 Prometheus 做監(jiān)控時,我們可以使用 Node Exporter 收集系統(tǒng)指標進行監(jiān)控,比如內(nèi)存、CPU、磁盤、文件描述符等信息。

大家好,我是君哥。

監(jiān)控系統(tǒng)在科技公司非常重要,它可以讓運維人員和研發(fā)人員提前發(fā)現(xiàn)問題、定位問題,進而解決問題。

在我們實際工作中,使用的監(jiān)控往往五花八門,比較混亂,今天來聊一聊怎么規(guī)劃公司的監(jiān)控架構(gòu)。

1.指標采集

監(jiān)控指標采集為監(jiān)控提供原始數(shù)據(jù),是監(jiān)控系統(tǒng)的基礎(chǔ)。

1.1 系統(tǒng)指標

當我們使用 Prometheus 做監(jiān)控時,我們可以使用 Node Exporter 收集系統(tǒng)指標進行監(jiān)控,比如內(nèi)存、CPU、磁盤、文件描述符等信息。

1.2 數(shù)據(jù)庫/中間件

數(shù)據(jù)庫和中間件故障對業(yè)務(wù)影響會非常大,極端情況下可能讓業(yè)務(wù)停擺。因此必須有配套的數(shù)據(jù)庫中間件監(jiān)控。

對于數(shù)據(jù)庫和中間件,采集數(shù)據(jù)庫所在機器的系統(tǒng)信息如內(nèi)存、CPU、磁盤是必須的。

對于數(shù)據(jù)庫,也需要采集 SQL 執(zhí)行時長、數(shù)據(jù)庫日志等作為監(jiān)控指標。

對于中間件,可以采集吞吐量、平均響應(yīng)時長,以及中間件自己的一些指標。比如 kafka 的 ISRShrink/ISRExpand。

JVM 相關(guān)指標,比如堆內(nèi)存、FULL GC 頻率和時長、線程使用情況。

1.3 業(yè)務(wù)指標

業(yè)務(wù)系統(tǒng)的監(jiān)控指標因為業(yè)務(wù)的復(fù)雜性,會非常復(fù)雜和龐大。

接口請求數(shù)量、平均響應(yīng)時間、成功率。這部分指標可以使用網(wǎng)絡(luò)抓包來獲取。

業(yè)務(wù)整體運行情況,這部分指標有兩種方式,一個是通過采集業(yè)務(wù)日志來獲取,第二個業(yè)務(wù)代碼主動推送執(zhí)行,比如把運行情況抽象成指標保存數(shù)據(jù)庫,或者通過消息隊列發(fā)送給采集系統(tǒng)。

2.指標保存

收集到監(jiān)控指標后,要想把這些指標展示給運維人員,就需要先把指標保存下來。Prometheus 將監(jiān)控數(shù)據(jù)保存在 TSDB,一些公司選擇引入外部時序數(shù)據(jù)庫,比如 VictoriaMetrics 這款時序數(shù)據(jù)庫就被很多公司采納。

有些指標采集的量比較小,也可以采用關(guān)系數(shù)據(jù)庫做存儲,對研發(fā)運維人員來說學(xué)習(xí)成本比較低。

小公司一般使用開源的工具就可以滿足指標保存的需求。在大公司,業(yè)務(wù)類型廣泛,指標數(shù)據(jù)量較大,需要規(guī)劃指標保存方案,引入多種保存方式。

3.指標加工

對于僅僅監(jiān)控一些特定指標的情況下,只要采集到數(shù)據(jù),正常展示出來,就可以實現(xiàn)監(jiān)控目標。但這只能用于較簡單的監(jiān)控指標,比如一個接口的請求次數(shù)。

從宏觀角度看,業(yè)務(wù)側(cè)更關(guān)注的是總體數(shù)據(jù),比如昨天交易成功的業(yè)務(wù)數(shù)量,失敗的業(yè)務(wù)數(shù)量。他們只會花時間看監(jiān)控大盤。這個時候就需要進行一些數(shù)據(jù)加工、匯總。

因此,指標加工也是非常重要的。這個工作也可以交給公司的大數(shù)據(jù)團隊來承接。

4.指標展示

完成指標采集和加工后,怎樣清晰優(yōu)雅地展示給用戶,是監(jiān)控設(shè)計中的一個重要環(huán)節(jié)。

知名的監(jiān)控工具比如 Prometheus、Zabbix 都有成熟的可視化界面,可以清晰地展示給用戶。但要滿足更復(fù)雜、更高要求的監(jiān)控場景,這些工具很難滿足需求。

這時候就需要技術(shù)團隊自己開發(fā)指標可視化工具,這里不僅包括監(jiān)控大盤,還包括給不同人員看的監(jiān)控頁面,比如給業(yè)務(wù)看的,給運維看的,給研發(fā)看的。

5.監(jiān)控告警

有了指標采集、加工和展示,其實只完成了監(jiān)控系統(tǒng)的準備工作,監(jiān)控告警是我們規(guī)劃監(jiān)控系統(tǒng)的重要目標。

監(jiān)控告警的目標是讓相關(guān)人員能夠提前感知到問題,及時采取措施,防止問題擴大。

為了節(jié)省系統(tǒng)資源,監(jiān)控告警也是需要分級別的,根據(jù)問題嚴重程度、業(yè)務(wù)影響范圍來規(guī)劃告警級別。這就要求業(yè)務(wù)系統(tǒng)在需求階段就要明確業(yè)務(wù)的重要性,輔助確定監(jiān)控級別。

比如涉及金錢的交易系統(tǒng)、支付系統(tǒng)、賬務(wù)系統(tǒng),對于公司來說非常重要,可以把他們定義成嚴重級別,監(jiān)控到問題后,通過短信、OA 消息通知到值班運維人員,這樣值班運維人員可以根據(jù)問題情況及時通知到相關(guān)研發(fā)人員,即使問題發(fā)生在半夜也能很快地采取措施。

對于影響較小的業(yè)務(wù)系統(tǒng)、批量交易,可以定義成主要級別,發(fā)生問題后,短信或 OA 實時通知到系統(tǒng)負責(zé)人就可以。

對于沒有業(yè)務(wù)影響的交易,可以定義成次要級別,問題發(fā)生后,只需要郵件通知到開發(fā)人員,而且不用實時通知,每天集中一次或者幾次就可以。

6.應(yīng)急方案

應(yīng)急方案需要提前進行設(shè)計、演練,這樣可以防患于未然。假如一個嚴重級別的告警半夜 2 點觸發(fā)了,研發(fā)人員睡夢中被叫醒,如果沒有應(yīng)急方案,勢必會非常慌亂。

應(yīng)急方案可以根據(jù)系統(tǒng)的實際情況進行設(shè)計,比如重啟服務(wù)、接口限流、熔斷、集群擴容、故障節(jié)點摘除等。

7.總結(jié)

監(jiān)控系統(tǒng)對于科技公司來說,非常重要。我們可以從指標采集、指標保存、指標加工、指標展示、監(jiān)控告警、應(yīng)急方案這些方面來進行設(shè)計。希望本文對你設(shè)計監(jiān)控架構(gòu)有所幫助。

圖片


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

2010-12-28 10:40:50

admin

2020-08-24 08:50:12

架構(gòu)師TL技術(shù)

2018-07-06 11:25:40

Java架構(gòu)師面試

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2015-09-15 11:02:56

JAVA架構(gòu)師面試

2013-10-17 15:45:24

紅帽

2012-08-04 16:02:00

架構(gòu)師

2022-04-28 13:08:51

架構(gòu)師軟件

2014-10-28 09:56:56

Hadoop

2017-10-10 19:43:44

架構(gòu) 搭建 技術(shù)

2020-01-16 15:35:00

高并發(fā)架構(gòu)服務(wù)器

2019-09-27 09:56:31

軟件技術(shù)硬件

2013-08-21 13:43:16

架構(gòu)師架構(gòu)師面試職場面試

2013-11-14 10:06:11

紅帽redhat

2020-09-15 09:55:13

架構(gòu)師架構(gòu)選型

2021-12-28 07:20:43

架構(gòu)師技術(shù)架構(gòu)

2012-06-17 12:58:04

架構(gòu)師架構(gòu)

2018-07-03 15:46:24

Java架構(gòu)師源碼

2015-10-28 13:39:25

點贊
收藏

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