想像一下,你只靠看文字 log 或 SQL 查詢結果來搞懂資料庫發生什麼事。這就像只聽引擎聲音來判斷車子哪裡壞掉一樣。雖然不是不行,但超麻煩。所以資料視覺化真的很重要!監控工具可以讓你:
- 即時掌握你的資料庫狀態,什麼都一目了然。
- 很快找到問題點,比如慢查詢或鎖定。
- 方便分析趨勢和歷史資料,預測未來可能出現的問題。
現在就來認識幾個可以做到這些事的工具吧。
用 pgAdmin 監控 PostgreSQL
pgAdmin 是最熱門的 PostgreSQL 管理工具,不只介面好用,還有基本的監控功能。
pgAdmin 可以做這些事:
查詢和連線監控: 在
Dashboard區塊你可以看到目前的連線、交易、資料庫狀態和查詢統計。![pgAdmin 裡的 Dashboard 範例]()
效能指標分析: 可以看到慢查詢、index 使用情況、讀寫操作量等資訊。
日誌和警報: 你可以設定事件通知,比如錯誤或故障時收到提醒。
怎麼在 pgAdmin 設定監控
- 打開
pgAdmin,連線到你的資料庫。 - 進到
Tools>Dashboard,這裡有基本指標。 想更深入分析查詢時,用
Query Tool執行像這樣的指令:SELECT * FROM pg_stat_activity;
pgAdmin 很適合做基本監控和分析,但功能有限。如果你要更進階的監控,還是得靠專業工具。
pgDash:PostgreSQL 指標視覺化
如果說 pgAdmin 是資料庫界的瑞士刀,那 pgDash 就是專業分析儀。pgDash 專門拿來深入分析 PostgreSQL 效能。
pgDash 主要功能
查詢詳細分析: 你可以看到查詢統計,包括
total_time、呼叫次數和資料列數。資料表和 index 監控: pgDash 讓你追蹤資料表和 index 的活動與效能。
歷史資料: 可以分析幾小時、幾天、甚至幾週的趨勢。
警報和事件: 設定自動通知,第一時間發現問題。
pgDash 安裝與設定
- 從官方網站 pgDash 下載安裝
pgDash。 設定你的 PostgreSQL 來收集指標。例如在
postgresql.conf裡:shared_preload_libraries = 'pg_stat_statements' track_activity_query_size = 1024透過 pgDash 介面連線你的資料庫,指標就會變成圖表啦。
Prometheus 和 Grafana:超強組合
接下來介紹重裝武器。Prometheus 和 Grafana 是世界級的監控和視覺化工具。兩個一起用,可以從 PostgreSQL 收集指標,然後用互動式圖表和 dashboard 呈現。
Prometheus 是一套監控系統,用 HTTP 請求收集和儲存指標,超適合雲端和高負載系統。
Prometheus 主要功能:
- 用
postgres_exporter從 PostgreSQL 收集指標。 - 儲存資料,方便分析歷史紀錄。
- 彈性的指標查詢系統(
PromQL)。
Prometheus 監控 PostgreSQL 的安裝與設定
- 去官方網站 Prometheus 下載安裝 Prometheus。
安裝
postgres_exporter來連 PostgreSQL:git clone https://github.com/prometheus-community/postgres_exporter.git在
postgres_exporter設定連線:DATA_SOURCE_NAME="postgresql://username:password@localhost:5432/postgres?sslmode=disable"啟動 Prometheus,並加上
postgres_exporter的設定:scrape_configs: - job_name: 'postgresql' static_configs: - targets: ['localhost:9187']
Grafana:資料視覺化
Grafana 是超強的圖表平台,可以把 Prometheus 收集到的指標做成超美的 dashboard。
Grafana 主要功能:
- 連接各種指標來源(Prometheus、PostgreSQL)。
- 自訂互動式圖表和 dashboard。
- 設定警報,像是自動發通知到 Slack。
Prometheus + Grafana 組合設定
- 從官方網站 Grafana 下載安裝 Grafana。
- 啟動 Grafana,把 Prometheus 加進資料來源。
- 匯入現成的 PostgreSQL dashboard,比如從 官方目錄 找一個。
範例:用 Prometheus 和 Grafana 設定監控
來看個實戰例子:
用 Prometheus 收集 PostgreSQL 指標:
- 安裝
postgres_exporter,開始收集資料。 - Prometheus 會開始 polling 並儲存指標。
- 安裝
在 Grafana 設定 dashboard:
- 把 Grafana 連到 Prometheus。
- 匯入 PostgreSQL 指標的 dashboard。
- 你就能看到記憶體、CPU、鎖定、查詢等圖表。
設定警報:
- 在 Grafana 設定通知。例如:「如果 CPU 使用率超過 80%,就發訊息到 Slack」。
怎麼選監控工具?
每個工具都有自己的強項:
- pgAdmin:適合基本監控和管理。
- pgDash:查詢分析和趨勢追蹤超好用。
- Prometheus + Grafana:高負載系統首選,視覺化和自訂性都超強。
實際專案裡你可以混著用:查詢分析用 pgDash,整體伺服器監控就交給 Prometheus + Grafana。

GO TO FULL VERSION