Coroot 團隊很高興宣布 coroot-pg-agent – 一個開源 (Apache 2.0) Postgres exporter,適用於 Prometheus,專注於查詢效能統計。
在 Coroot,我們致力於開發一款產品,可以偵測服務中斷的根本原因,並為我們的使用者提供可能的修復方案列表。
最初,我們計畫使用現有開源 Prometheus exporter 收集的指標,例如 postgres_exporter (Github 上有 1.7k 個星)。不幸的是,我們意識到它收集的指標對於識別最常見的效能問題毫無用處,例如:
對 postgres_exporter 提出的修改將會過於龐大,因此我們決定建立另一個 exporter。
全面的查詢指標
該 agent 從 pg_stat_statements 和 pg_stat_activity 匯總統計資訊,不僅考慮到已完成的查詢,還考慮到仍在執行的查詢。
鎖監控
僅從 pg_locks 收集活動鎖的數量是不夠的。DBA 真正想知道的是哪個查詢正在封鎖其他查詢。收集到的指標可以提供這個問題的答案。
查詢正規化和混淆處理
除了 Postgres 所做的查詢正規化之外,該 agent 還混淆了所有查詢,以使沒有敏感資料進入指標標籤。