數(shù)據(jù)庫的指標(biāo)體系設(shè)計攻略
作為運維對象的數(shù)據(jù)庫是數(shù)據(jù)化存在的,這些數(shù)據(jù)包括配置數(shù)據(jù)、運行數(shù)據(jù)、變更數(shù)據(jù)以及分析診斷數(shù)據(jù)等等,貫穿了運維對象的全生命周期,是數(shù)據(jù)庫數(shù)字化運維與優(yōu)化的基礎(chǔ)和核心。對于數(shù)據(jù)庫運維部門而言主要關(guān)注點是運行數(shù)據(jù),通過指標(biāo)的形式進行獲取,在此基礎(chǔ)上可以產(chǎn)生診斷、告警之類的數(shù)據(jù),如果配合AI技術(shù),甚至可以進行一些預(yù)測。
數(shù)據(jù)庫指標(biāo)集的構(gòu)建是數(shù)據(jù)庫運維自動化和智能化的基礎(chǔ),因此必須加以重視。在做數(shù)據(jù)庫指標(biāo)設(shè)計的時候,往往會受限于早些年的網(wǎng)管系統(tǒng)建設(shè)思路,過度借鑒SNMP的MIB庫。這些基于傳統(tǒng)思路設(shè)計的指標(biāo)集在靜態(tài)配置信息上十分值得借鑒,但是動態(tài)指標(biāo)往往過于簡單,無法適應(yīng)當(dāng)前數(shù)據(jù)庫運維的需要。在做數(shù)據(jù)庫指標(biāo)集設(shè)計的時候,要從運維工作的要點出發(fā)同時結(jié)合當(dāng)前數(shù)字化運維的需求,從對數(shù)據(jù)庫系統(tǒng)進行全面的數(shù)字化描述的角度入手,才能讓數(shù)據(jù)庫的指標(biāo)集在實際運維工作中實用、好用。
在實際運維工作中,指標(biāo)并非空中樓閣,也并非學(xué)術(shù)范疇,如果一個指標(biāo)在監(jiān)控、運維、優(yōu)化、評估、審計等工作中沒有使用場景,那么這個指標(biāo)可能是沒有任何采集價值的。而分析某個重要問題所需要的指標(biāo)不存在 或者無法直接采集到,那么我們就需要想盡一切辦法將其指標(biāo)化。
數(shù)據(jù)庫內(nèi)部會存在多個組件,因此運行時需要采集的指標(biāo)數(shù)量還是非常多的,少的幾十個,多的能上千,為了便于管理,需要對這些指標(biāo)進行分類。比如對于某個國產(chǎn)數(shù)據(jù)庫,一般在運維時會關(guān)注數(shù)據(jù)庫以下方面的運行情況:
- 配置:影響對象運行的主要參數(shù)、資源設(shè)置,有些配置是動態(tài)的,不能只做一次性采集
- 資源:運維對象涉及的各種內(nèi)外資源的使用情況
- 負(fù)載:運維對象及其所有組件的活動量統(tǒng)計
- 性能:主要是指運維對象執(zhí)行各項任務(wù)的響應(yīng)時間
- 效率:主要是指運維對象在進行內(nèi)部處理時最優(yōu)路徑的選擇比率
- 并發(fā):內(nèi)部資源或數(shù)據(jù)結(jié)構(gòu)的爭用情況
- 集群:集群中的成員對象之間發(fā)生的活動統(tǒng)計
- 總體:包括總體運行狀態(tài)、復(fù)制狀態(tài)、備份情況、日志錯誤統(tǒng)計、安全類統(tǒng)計之類的指標(biāo)
圖片
對數(shù)據(jù)庫的指標(biāo)進行梳理,可以將數(shù)據(jù)庫的指標(biāo)按照管理類、配置類和技術(shù)類三大類進行歸類。管理類指標(biāo)主要體現(xiàn)數(shù)據(jù)庫與上下游之間的關(guān)聯(lián)關(guān)系,數(shù)據(jù)庫不能脫離存儲、服務(wù)器等獨立存在,因此必須關(guān)心其關(guān)聯(lián)對象的指標(biāo),另外在運維方面有什么關(guān)注點,也應(yīng)該進行指標(biāo)化。比如容量、負(fù)載、資源等,要根據(jù)管理特性設(shè)計相關(guān)的指標(biāo)進行管理。數(shù)據(jù)庫的配置文件、配置信息等也需要指標(biāo)化管理,指標(biāo)化管理有助于對數(shù)據(jù)庫對象進行全面的數(shù)字化描述和展示,同時一些負(fù)載和并發(fā)相關(guān)的指標(biāo)的基線與波動特性也與配置有關(guān)。技術(shù)類的指標(biāo)包含來自于數(shù)據(jù)庫本身的指標(biāo)和通過對日志分析產(chǎn)生的指標(biāo),日志事件指標(biāo)化是對日志進行強管理的有效措施。
在指標(biāo)設(shè)計的時候還要關(guān)注的就是指標(biāo)的可觀測性和可評估性。指標(biāo)所表達的含義一定是DBA可觀測的,或者是自動化算法可評估的。比如數(shù)據(jù)庫啟動以來的總執(zhí)行數(shù),這個指標(biāo)的可觀測性和可評估性都不佳,因此我們需要通過這個指標(biāo)和時間戳計算出某個時間段內(nèi)平均每秒的執(zhí)行數(shù),這個指標(biāo)的可觀測性就優(yōu)于總執(zhí)行數(shù)。最近一分鐘內(nèi)CURSOR緩沖的平均命中數(shù)和平均丟失數(shù)指標(biāo)的可觀測性是不錯的,但是不同負(fù)載的系統(tǒng)這些指標(biāo)的差異很大,因此其可評估性不佳。如果計算出最近一分鐘內(nèi)CURSOR緩沖的命中率,就可以很方便地用于評估CURSOR緩沖的效率了。