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

作者: 不剪發(fā)的Tony老師
畢業(yè)于北京航空航天大學(xué),十多年數(shù)據(jù)庫(kù)管理與開(kāi)發(fā)經(jīng)驗(yàn),目前在一家全球性的金融公司從事數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)。CSDN學(xué)院簽約講師以及GitChat專欄作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net


大家好,我是只談技術(shù)不剪發(fā)的 Tony 老師。

數(shù)據(jù)庫(kù)系統(tǒng)的信息統(tǒng)計(jì)、狀態(tài)監(jiān)控以及性能優(yōu)化是 DBA 日常工作中必不可少但復(fù)雜而繁瑣的一部分,今天給大家介紹一個(gè)提供 PostgreSQL 系統(tǒng)可觀測(cè)性(Observability)的網(wǎng)站:pgstats.dev。

該網(wǎng)站通過(guò)一個(gè)交互式的圖形界面提供了 PostgreSQL 數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)部組件和功能模塊介紹,以及相關(guān)的字典視圖、系統(tǒng)函數(shù)、擴(kuò)展插件等。該網(wǎng)站支持 PostgreSQL 9.5 到最新版本。

可觀測(cè)性
該網(wǎng)站提供了以下系統(tǒng)組件和模塊的統(tǒng)計(jì)和監(jiān)控信息:

    客戶端后臺(tái)進(jìn)程(Client Backends);
    查詢計(jì)劃器(Query Planning);
    查詢執(zhí)執(zhí)行器(Query Execution);
    索引使用統(tǒng)計(jì)(Indexes Usage);
    表使用統(tǒng)計(jì)(Tables Usage);
    共享緩沖區(qū)(Shared Buffers);
    緩沖區(qū) IO 統(tǒng)計(jì)(Buffers IO);
    SLRU 緩存統(tǒng)計(jì)(SLRU Caches);
    Postmaster 進(jìn)程(Postmaster);
    后臺(tái)工作進(jìn)程(Background Workers);
    Autovacuum 管理進(jìn)程(Autovacuum Launcher);
    Autovacuum 工作進(jìn)程(Autovacuum Workers);
    預(yù)寫式日志(Write-Ahead Log);
    系統(tǒng)日志進(jìn)程(Logger Process);
    統(tǒng)計(jì)信息收集進(jìn)程(Stats Collector);
    邏輯復(fù)制(Logical Replication);
    WAL 發(fā)送進(jìn)程(WAL Sender Process);
    WAL 歸檔進(jìn)程(WAL Archiver Process);
    后臺(tái)寫入器進(jìn)程(Background Writer);
    檢查點(diǎn)進(jìn)程(Checkpointer Process);
    網(wǎng)絡(luò)監(jiān)控(Network);
    存儲(chǔ)監(jiān)控(Storage);
    WAL 接收進(jìn)程(WAL Receiver Process);
    恢復(fù)進(jìn)程(Recovery Process);
    數(shù)據(jù)和索引文件(Tables/Indexes Data Files)。

我們既可以將鼠標(biāo)移動(dòng)到中間的組件和模塊,查詢與此相關(guān)的視圖、函數(shù)或者插件;也可以將鼠標(biāo)移動(dòng)到兩側(cè)的視圖、函數(shù)或者插件,了解與其相關(guān)的功能。例如,與查詢計(jì)劃“Query Planning”相關(guān)的視圖和工具包括 EXPLAIN 和 pg_stat_statements 模塊。

查詢計(jì)劃
點(diǎn)擊“Query Planning”可以查看關(guān)于查詢計(jì)劃器的介紹,點(diǎn)擊“pg_stat_statements”可以查看關(guān)于該模塊的詳細(xì)介紹。

pg_stat_statements
最后,給大家推薦一個(gè)配套的命令行管理工具:pgCenter。