CodeGym /課程 /SQL SELF /PostgreSQL 監控工具: pgAdminpgDash

PostgreSQL 監控工具: pgAdminpgDashPrometheusGrafana

SQL SELF
等級 46 , 課堂 4
開放

想像一下,你只靠看文字 log 或 SQL 查詢結果來搞懂資料庫發生什麼事。這就像只聽引擎聲音來判斷車子哪裡壞掉一樣。雖然不是不行,但超麻煩。所以資料視覺化真的很重要!監控工具可以讓你:

  • 即時掌握你的資料庫狀態,什麼都一目了然。
  • 很快找到問題點,比如慢查詢或鎖定。
  • 方便分析趨勢和歷史資料,預測未來可能出現的問題。

現在就來認識幾個可以做到這些事的工具吧。

用 pgAdmin 監控 PostgreSQL

pgAdmin 是最熱門的 PostgreSQL 管理工具,不只介面好用,還有基本的監控功能。

pgAdmin 可以做這些事:

  1. 查詢和連線監控: 在 Dashboard 區塊你可以看到目前的連線、交易、資料庫狀態和查詢統計。

    pgAdmin 裡的 Dashboard 範例

  2. 效能指標分析: 可以看到慢查詢、index 使用情況、讀寫操作量等資訊。

  3. 日誌和警報: 你可以設定事件通知,比如錯誤或故障時收到提醒。

怎麼在 pgAdmin 設定監控

  1. 打開 pgAdmin,連線到你的資料庫。
  2. 進到 Tools > Dashboard,這裡有基本指標。
  3. 想更深入分析查詢時,用 Query Tool 執行像這樣的指令:

    SELECT * FROM pg_stat_activity;
    

pgAdmin 很適合做基本監控和分析,但功能有限。如果你要更進階的監控,還是得靠專業工具。

pgDash:PostgreSQL 指標視覺化

如果說 pgAdmin 是資料庫界的瑞士刀,那 pgDash 就是專業分析儀。pgDash 專門拿來深入分析 PostgreSQL 效能。

pgDash 主要功能

  1. 查詢詳細分析: 你可以看到查詢統計,包括 total_time、呼叫次數和資料列數。

  2. 資料表和 index 監控: pgDash 讓你追蹤資料表和 index 的活動與效能。

  3. 歷史資料: 可以分析幾小時、幾天、甚至幾週的趨勢。

  4. 警報和事件: 設定自動通知,第一時間發現問題。

pgDash 安裝與設定

  1. 從官方網站 pgDash 下載安裝 pgDash
  2. 設定你的 PostgreSQL 來收集指標。例如在 postgresql.conf 裡:

    shared_preload_libraries = 'pg_stat_statements'
    track_activity_query_size = 1024
    
  3. 透過 pgDash 介面連線你的資料庫,指標就會變成圖表啦。

Prometheus 和 Grafana:超強組合

接下來介紹重裝武器。PrometheusGrafana 是世界級的監控和視覺化工具。兩個一起用,可以從 PostgreSQL 收集指標,然後用互動式圖表和 dashboard 呈現。

Prometheus 是一套監控系統,用 HTTP 請求收集和儲存指標,超適合雲端和高負載系統。

Prometheus 主要功能:

  1. postgres_exporter 從 PostgreSQL 收集指標。
  2. 儲存資料,方便分析歷史紀錄。
  3. 彈性的指標查詢系統(PromQL)。

Prometheus 監控 PostgreSQL 的安裝與設定

  1. 去官方網站 Prometheus 下載安裝 Prometheus。
  2. 安裝 postgres_exporter 來連 PostgreSQL:

    git clone https://github.com/prometheus-community/postgres_exporter.git
    
  3. postgres_exporter 設定連線:

    DATA_SOURCE_NAME="postgresql://username:password@localhost:5432/postgres?sslmode=disable"
    
  4. 啟動 Prometheus,並加上 postgres_exporter 的設定:

    scrape_configs:
      - job_name: 'postgresql'
        static_configs:
      - targets: ['localhost:9187']

Grafana:資料視覺化

Grafana 是超強的圖表平台,可以把 Prometheus 收集到的指標做成超美的 dashboard。

Grafana 主要功能:

  1. 連接各種指標來源(Prometheus、PostgreSQL)。
  2. 自訂互動式圖表和 dashboard。
  3. 設定警報,像是自動發通知到 Slack。

Prometheus + Grafana 組合設定

  1. 從官方網站 Grafana 下載安裝 Grafana。
  2. 啟動 Grafana,把 Prometheus 加進資料來源。
  3. 匯入現成的 PostgreSQL dashboard,比如從 官方目錄 找一個。

範例:用 Prometheus 和 Grafana 設定監控

來看個實戰例子:

  1. 用 Prometheus 收集 PostgreSQL 指標

    • 安裝 postgres_exporter,開始收集資料。
    • Prometheus 會開始 polling 並儲存指標。
  2. 在 Grafana 設定 dashboard

    • 把 Grafana 連到 Prometheus。
    • 匯入 PostgreSQL 指標的 dashboard。
    • 你就能看到記憶體、CPU、鎖定、查詢等圖表。
  3. 設定警報

    • 在 Grafana 設定通知。例如:「如果 CPU 使用率超過 80%,就發訊息到 Slack」。

怎麼選監控工具?

每個工具都有自己的強項:

  • pgAdmin:適合基本監控和管理。
  • pgDash:查詢分析和趨勢追蹤超好用。
  • Prometheus + Grafana:高負載系統首選,視覺化和自訂性都超強。

實際專案裡你可以混著用:查詢分析用 pgDash,整體伺服器監控就交給 Prometheus + Grafana

1
問卷/小測驗
PostgreSQL 系統指標,等級 46,課堂 4
未開放
PostgreSQL 系統指標
PostgreSQL 系統指標
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION