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

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

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

大家好,我是君哥。

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

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

1.指標(biāo)采集

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

1.1 系統(tǒng)指標(biāo)

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

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

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

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

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

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

JVM 相關(guān)指標(biāo),比如堆內(nèi)存、FULL GC 頻率和時(shí)長(zhǎng)、線(xiàn)程使用情況。

1.3 業(yè)務(wù)指標(biāo)

業(yè)務(wù)系統(tǒng)的監(jiān)控指標(biāo)因?yàn)闃I(yè)務(wù)的復(fù)雜性,會(huì)非常復(fù)雜和龐大。

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

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

2.指標(biāo)保存

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

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

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

3.指標(biāo)加工

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

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

因此,指標(biāo)加工也是非常重要的。這個(gè)工作也可以交給公司的大數(shù)據(jù)團(tuán)隊(duì)來(lái)承接。

4.指標(biāo)展示

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

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

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

5.監(jiān)控告警

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

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

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

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

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

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

6.應(yīng)急方案

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

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

7.總結(jié)

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

圖片


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

2010-12-28 10:40:50

admin

2018-07-06 11:25:40

Java架構(gòu)師面試

2020-08-24 08:50:12

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

2012-08-04 16:02:00

架構(gòu)師

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2014-10-28 09:56:56

Hadoop

2017-10-10 19:43:44

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

2015-09-15 11:02:56

JAVA架構(gòu)師面試

2013-10-17 15:45:24

紅帽

2022-04-28 13:08:51

架構(gòu)師軟件

2019-09-27 09:56:31

軟件技術(shù)硬件

2020-01-16 15:35:00

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

2015-12-09 15:16:03

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

2013-08-21 13:43:16

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

2012-03-21 17:30:21

百度架構(gòu)師

2019-07-23 18:15:26

技術(shù)大數(shù)據(jù)數(shù)據(jù)庫(kù)

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)
點(diǎn)贊
收藏

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