從監(jiān)控到診斷:數(shù)據(jù)的力量
監(jiān)控與診斷一直是數(shù)據(jù)庫運(yùn)維中的兩個十分重要的環(huán)節(jié),在傳統(tǒng)的運(yùn)維模式中,監(jiān)控與診斷都是以人為中心的,因此指標(biāo)與數(shù)據(jù)的采集也都要圍繞人來展開。

監(jiān)控數(shù)據(jù)是需要人來看的,通過人的查看,可以發(fā)現(xiàn)監(jiān)控數(shù)據(jù)中存在的異常或者值得警惕的地方。不同水平的DBA能從數(shù)據(jù)中看出不同級別的風(fēng)險。因?yàn)槭切枰丝矗哉故镜闹笜?biāo)不能太多,否則監(jiān)控人員就眼花繚亂了。實(shí)際上,上圖的關(guān)鍵指標(biāo)的數(shù)量對于監(jiān)控來說已經(jīng)太多了。

對于依靠人的監(jiān)控而言,簡要而直觀的指標(biāo)展示是十分必要的。對于數(shù)據(jù)庫來說,只關(guān)注三五個關(guān)鍵指標(biāo)才能更好的實(shí)現(xiàn)人工監(jiān)控。我的一個金融客戶,對于核心系統(tǒng),他們只關(guān)注活躍會化數(shù)指標(biāo),有一個監(jiān)控人員隨時盯住這個指標(biāo)看,一旦出現(xiàn)異常就點(diǎn)擊相關(guān)的指標(biāo),進(jìn)行診斷分析。

這是根據(jù)他們的需求修改的指標(biāo)歷史數(shù)據(jù)監(jiān)控頁,一旦活躍會話數(shù)指標(biāo)超標(biāo)就點(diǎn)擊進(jìn)去診斷。在這個頁面中我們提供了一個“問題分析”工具。

問題分析工具可以根據(jù)時間窗口分析系統(tǒng)中存在的問題(當(dāng)前問題或者歷史問題),而等待事件分析工具則可以從等待事件的角度來幫助DBA分析系統(tǒng)中可能存在的性能問題。
不管怎么樣,監(jiān)控的目的是讓DBA工作的更簡單,還是為人服務(wù)的,以人為中心的。可能有朋友對此不認(rèn)可,認(rèn)為監(jiān)控也可以自動化,比如基線告警。實(shí)際上基線告警也是類似的,比如基線告警可以通過短信告訴你活躍會話數(shù)異常了。但是如果基線告警模板設(shè)置了太多的指標(biāo),那么告警風(fēng)暴的處理就很麻煩了。不精準(zhǔn)的告警會讓告警功能如同虛設(shè)。
傳統(tǒng)的診斷也是以人為中心的,當(dāng)系統(tǒng)出問題的時候才去系統(tǒng)中查找各種信息,進(jìn)行分析。這種分析十分依賴于DBA的個人能力。當(dāng)用戶發(fā)生大問題的時候,總是希望高水平的專家能盡快到現(xiàn)場來處置。
隨著企業(yè)數(shù)字化的發(fā)展,以人為中心的這種監(jiān)控診斷模式的成本越來越高,專家也不太愿意在一線現(xiàn)場坐鎮(zhèn)。因此節(jié)約人力成本,節(jié)約專家的時間成為了數(shù)據(jù)庫運(yùn)維中十分重要的需求。實(shí)際上隨著硬件的發(fā)展,數(shù)據(jù)采集,存儲與計(jì)算的成本已經(jīng)十分低廉了。因此在現(xiàn)代的數(shù)據(jù)庫監(jiān)控系統(tǒng)中,采集并保存更為完整的監(jiān)控數(shù)據(jù)已經(jīng)不是成本太高的事情。
如果日常采集的數(shù)據(jù)足夠豐富,那么自動化診斷和遠(yuǎn)程診斷就會變成可能。診斷工作所需的數(shù)據(jù)已經(jīng)在離線采集的數(shù)據(jù)庫中了,絕大多數(shù)診斷工具都不需要再從數(shù)據(jù)庫實(shí)例中臨時采集數(shù)據(jù),那么當(dāng)數(shù)據(jù)庫出現(xiàn)異常的時候,自動診斷工具可以毫無風(fēng)險的在后臺進(jìn)行自動分析。
這里說的毫無風(fēng)險是指自動化診斷工作本身不會給數(shù)據(jù)庫實(shí)例帶來任何風(fēng)險。如果在自動化診斷中還需要從數(shù)據(jù)庫臨時采集一些數(shù)據(jù),那么如果這種采集本身帶有風(fēng)險,那么在一個本身就存在故障的數(shù)據(jù)庫實(shí)例上,可能就是一種雪上加霜的舉動。我們曾經(jīng)做過一個共享池碎片自動診斷分析的工具,需要對KGH的數(shù)據(jù)進(jìn)行分析,這個工具曾經(jīng)就搞宕過數(shù)據(jù)庫。因此在指標(biāo)自動化采集與自動化診斷上,我們會盡可能規(guī)避此類風(fēng)險的出現(xiàn)。
想要實(shí)現(xiàn)這一切,其后面最重要的力量是數(shù)據(jù),數(shù)據(jù)時首先監(jiān)控與診斷自動化的基礎(chǔ)。實(shí)際上在數(shù)據(jù)庫自動化運(yùn)維中,指標(biāo)集與數(shù)據(jù)采集本身就包含了豐富的運(yùn)維知識。某種數(shù)據(jù)庫應(yīng)該采集哪些指標(biāo),該如何更好,無風(fēng)險的采集數(shù)據(jù)庫的指標(biāo),是十分有價值的運(yùn)維知識。
今年,我們將會把D-SMART中Oracle,Mysql、Postgresql、達(dá)夢、金倉等數(shù)據(jù)庫的指標(biāo)集開源出來,也希望大家能夠加入到我們這個行列里,共同豐富與完善這個開源指標(biāo)集。






























