共用方式為


監視適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器上的計量

適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

監視伺服器的相關資料,可協助您疑難排解並最佳化您的工作負載。 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器提供各種監視選項,可讓您深入了解伺服器的執行狀況。

計量

適用於 PostgreSQL 的 Azure 資料庫彈性伺服器提供各種計量,可讓您深入了解支援適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體的資源行為。 每個計量都會以 1 分鐘的間隔發出,而且可保留最多 93 天的歷程記錄。 您可以在計量上設定警示。 其他選項包含設定自動化動作、執行進階分析,以及封存歷程記錄。 如需詳細資訊,請參閱 Azure 計量概觀

注意

雖然計量會儲存 93 天,但您只能在 [計量] 圖格中,查詢任何單一圖表上最多 30 天的資料。 如果您看到空白的圖表,或您的圖表只顯示部分的計量資料,請確認時間選擇器中的開始和結束日期之間的差距未超過 30 天的間隔。 選取 30 天的間隔之後,您可以移動流覽圖表以檢視完整的保留時間範圍。

預設計量

適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體可以使用下列計量:

Display name 計量識別碼 單位 描述 預設為啟用
作用中的連線數 active_connections 計數 資料庫伺服器的連線總數,包含使用中、閒置和其他等所有連線狀態,如 pg_stat_activity 檢視所示。 此圖表示所有狀態的連線總和,不會區分特定狀態。 如需特定狀態的深入分析 (例如使用中連線),請參閱「各狀態的工作階段」計量。 Yes
已使用的備份儲存體 backup_storage_used Bytes 已使用的備份儲存體數量。 此計量代表根據為伺服器設定的備份保留期間,保留的所有完整備份、差異備份和記錄備份所耗用的儲存空間總和。 備份的頻率是受服務所管理。 針對異地備援儲存體,備份儲存體使用量是本地備援儲存體使用量的兩倍。 Yes
失敗的連線 connections_failed 計數 連接失敗的數目。 Yes
成功的連線 connections_succeeded 計數 成功的連線數目。 Yes
使用的 CUP 點數 cpu_credits_consumed 計數 彈性伺服器所使用的點數。 適用於可高載層。 Yes
剩餘 CPU 點數 cpu_credits_remaining 計數 可用於高載的點數。 適用於可高載層。 Yes
CPU 百分比 cpu_percent Percent 使用中的 CPU 百分比。 Yes
資料庫大小 database_size_bytes Bytes 資料庫大小 (位元組)。 Yes
磁碟佇列深度 disk_queue_depth 計數 資料磁碟的未處理 I/O 作業數目。 Yes
IOPS iops 計數 每秒磁碟的 I/O 作業數目。 Yes
已使用的交易識別碼上限 maximum_used_transactionIDs 計數 已使用的交易識別碼目上限。 Yes
記憶體百分比 memory_percent Percent 使用中記憶體的百分比。 Yes
網路輸出 network_bytes_egress Bytes 伺服器上所選取期間傳出網路流量的總和。 此計量包含來自資料庫和適用於 Postgres 的 Azure 資料庫彈性伺服器的連出流量,包括監視、記錄、WAL 封存、複寫等功能。 Yes
網路輸入 network_bytes_ingress Bytes 伺服器上所選取期間傳入網路流量的總和。 此計量包括連入您的資料庫和適用於Postgres 的 Azure 資料庫彈性伺服器的流量,包括監視、記錄、WAL 封存、複寫等功能。 Yes
讀取 IOPS read_iops 計數 每秒的資料磁碟 I/O 讀取作業數目。 Yes
讀取輸送量 read_throughput Bytes 每秒從磁碟讀取的位元組數。 Yes
可用儲存空間 storage_free Bytes 可用的儲存空間量。 Yes
儲存空間百分比 storage_percent 百分比 已使用的儲存空間百分比。 服務使用的儲存空間可能包含資料庫檔案、交易記錄和伺服器記錄。 Yes
已使用的儲存空間 storage_used Bytes 已使用的儲存空間量。 此服務所使用的儲存體可能包括資料庫檔案、交易記錄和伺服器記錄。 Yes
已使用的交易記錄儲存空間 txlogs_storage_used Bytes 交易記錄所使用的儲存體空間量。 Yes
寫入輸送量 write_throughput Bytes 每秒寫入磁碟的位元組數。 Yes
寫入 IOPS write_iops 計數 每秒的資料磁碟 I/O 寫入作業數目。 Yes

增強型計量

您可以針對適用於 PostgreSQL 的 Azure 資料庫使用增強型計量,以取得資料庫的精細監視和警示。 您可以在計量上設定警示。 某些增強型計量包含Dimension 參數,您可以用於透過使用資料庫名稱或狀態等維度來分割和篩選計量資料。

啟用增強型計量

  • 依預設,停用大部分的新計量。 然而,仍有幾個例外狀況,依預設會啟用新計量。 下表最右邊的資料行指出是否依預設啟用每個計量。
  • 若要啟用依預設未啟用的計量,請將伺服器參數 metrics.collector_database_activity 設定為 ON。 此參數是動態,不需要執行個體重新啟動。
增強型計量清單

您可以從下列增強型計量類別中進行選擇:

  • 活動
  • Database
  • 邏輯複寫
  • 複寫
  • 飽和度
  • 交通流量
活動
Display name 計量識別碼 單位 描述 維度 預設為啟用
各狀態的工作階段 sessions_by_state 計數 pg_stat_activity 檢視中顯示各狀態的工作階段。 這會將用戶端後端分類為各種狀態,例如使用中或閒置。 州/省 No
各 WaitEventType 的工作階段 sessions_by_wait_event_type 計數 用戶端後端所等候各事件類型的工作階段。 等候事件類型 No
最舊的備份 oldest_backend_time_sec 最就備份存留期 (秒) (無論狀態為何)。 不適用 No
最舊的查詢 longest_query_time_sec 目前執行的最長查詢存留期 (秒)。 不適用 No
最舊的交易 longest_transaction_time_sec 最長交易的存留期 (秒) (包含閒置交易)。 不適用 No
最舊的 xmin oldest_backend_xmin 計數 最舊 xmin 的實際值。 如果 xmin 未增加,則表示某些長時間執行的交易可能保留無效的 Tuple 而無法移除。 不適用 No
最舊的 xmin 存留期 oldest_backend_xmin_age 計數 最舊 xmin 的存留期 (按單位)。 表示自最舊 xmin 所傳遞的交易數目。 不適用 No
Database
Display name 計量識別碼 單位 描述 維度 預設為啟用
後端 numbackends 計數 連線至此資料庫的後端數目。 DatabaseName No
鎖死 deadlocks 計數 此資料庫中偵測到的死結數目。 DatabaseName No
磁碟區塊命中 blks_hit 計數 在緩衝集區中找到磁碟區塊的次數,因此不需要讀取。 DatabaseName No
磁碟區塊讀取 blks_read 計數 此資料庫中讀取磁碟區塊的數目。 DatabaseName No
暫存檔案 temp_files 計數 此資料庫中查詢已建立暫存檔案的數目。 DatabaseName No
暫存檔案大小 temp_bytes Bytes 此資料庫中查詢已寫入暫存檔案的資料總量。 DatabaseName No
交易數總計 xact_total 計數 此資料庫中執行的交易總數。 DatabaseName No
認可的交易 xact_commit 計數 此資料庫中已認可的交易數目。 DatabaseName No
每秒交易數 (預覽) tps 計數 在一秒內執行的交易數目。 DatabaseName No
已回復的交易 xact_rollback 計數 此資料庫中已回復的交易數目。 DatabaseName No
已刪除的 Tuple tup_deleted 計數 此資料庫中查詢已刪除的資料列數目。 DatabaseName No
已擷取的 Tuple tup_fetched 計數 此資料庫中查詢已擷取的資料列數目。 DatabaseName No
已插入的 Tuple tup_inserted 計數 此資料庫中查詢已插入的資料列數目。 DatabaseName No
已傳回的 Tuple tup_returned 計數 此資料庫中查詢已傳回的資料列數目。 DatabaseName No
已上船的 Tuple tup_updated 計數 此資料庫中查詢已上傳的資料列數目。 DatabaseName No
邏輯複寫
Display name 計量識別碼 單位 描述 維度 預設為啟用
邏輯複寫延遲上限 logical_replication_delay_in_bytes Bytes 所有邏輯覆寫位置的延遲上限。 不適用 Yes
複寫
Display name 計量識別碼 單位 描述 維度 預設為啟用
實體複寫延遲上限 physical_replication_delay_in_bytes Bytes 所非同步實體複寫位置的延遲上限。 不適用 Yes
讀取複本延遲 physical_replication_delay_in_seconds 讀取複本延遲 (秒)。 不適用 Yes
飽和度
Display name 計量識別碼 單位 描述 維度 預設為啟用
已使用的 OS 磁碟頻寬百分比 disk_bandwidth_consumed_percentage Percent 每分鐘取用的資料磁碟頻寬百分比。 不適用 Yes
已使用的 OS 磁碟 IOPS 百分比 disk_iops_consumed_percentage Percent 每分鐘取用的資料磁碟 I/O 百分比。 不適用 Yes
交通流量
Display name 計量識別碼 單位 描述 維度 預設為啟用
連線數目上限 ^ max_connections 計數 最大連線數目。 不適用 Yes
TCP 連線待辦專案 (預覽) tcp_connection_backlog 計數 超過 PostgreSQL 伺服器容量的擱置連線數目。 適用於 8 個虛擬核心和更新版本。 州/省 No
Postmaster 處理 CPU 使用量 (預覽) postmaster_process_cpu_usage_percent Percent Postmaster 程式的CPU使用率。 不適用於高載 SKU。 不適用 No

^ 連線上限 表示 max_connections 伺服器參數的已設定值。 此計量每 30 分鐘輪詢一次。

使用增強型計量的考量
  • 使用 DatabaseName 維度的增強型計量有 50 個資料庫限制。
  • 在可高載 SKU 上,使用 DatabaseName 維度的計量有 10 個資料庫限制。
  • DatabaseName 維度限制會套用在 pg_stat_database 系統檢視的資料庫識別碼 (datid) 資料行,以反映資料庫建立的順序。
  • 計量維度中的 DatabaseName 不區分大小寫。 這表示在在查詢 pg_stat_database 檢視、篩選出資料行 (datnametemplate1template0)、按 datid 排序及將傳回的資料列限制為前 50 個 (若為可高載 SKU,則為 10 個) 之後,該結果集中的資料庫名稱計量 (除了大小寫 (例如 contoso_databaseContoso_database)) 都相同並將合併,而可能不會顯示準確的資料。

自動清理計量

自動清理計量可用於監視和調整適用於 PostgreSQL 的資料庫 - 彈性伺服器的自動清理效能。 每個計量都會以 30 分鐘的間隔發出,而且最多有 93 天的保留期。 您可以建立特定計量的警示,並可以使用 DatabaseName 維度分割和篩選計量資料。

如何啟用自動清理計量

  • 自動清理計量依預設為停用。
  • 若要啟用這些計量,請將伺服器參數 metrics.autovacuum_diagnostics 設定為 ON
  • 此參數是動態,因此不需要執行個體重新啟動。

自動清理計量清單

Display name 計量識別碼 單位 描述 維度 預設為啟用
分析計數器使用者資料表 analyze_count_user_tables 計數 此資料庫中已手動分析僅限使用者資料表的次數。 DatabaseName No
自動分析計數器使用者資料表 autoanalyze_count_user_tables 計數 此資庫中自動清理精靈已分析僅限使用者資料表的次數。 DatabaseName No
自動清理計數器使用者資料表 autovacuum_count_user_tables 計數 此資料庫中自動清理精靈已清理僅限使用者資料表的次數。 DatabaseName No
膨脹百分比 (預覽) bloat_percent Percent 僅限使用者資料表的預估膨脹百分比。 DatabaseName No
預估的無效資料列使用者資料表 n_dead_tup_user_tables 計數 此資料庫中僅限使用者資料表的預估無效資料列數目。 DatabaseName No
預估的有效資料列使用者資料表 n_live_tup_user_tables 計數 此資料庫中僅限使用者資料表的預估有效資料列數目。 DatabaseName No
預估的修改使用者資料表 n_mod_since_analyze_user_tables 計數 上次分析僅限使用者資料表起已修改的預估資料列數目。 DatabaseName No
已分析的使用者資料表 tables_analyzed_user_tables 計數 此資料庫中已分析的僅限使用者資料表數目。 DatabaseName No
已自動分析的使用者資料表 tables_autoanalyzed_user_tables 計數 此資料庫中自動清理精靈已分析的僅限使用者資料表數目。 DatabaseName No
已自動清理的使用者資料表 tables_autovacuumed_user_tables 計數 此資料庫中自動清理精靈已清理的僅限使用者資料表數目。 DatabaseName No
使用者資料表計數器 tables_counter_user_tables 計數 此資料表中僅限使用者資料表的數目。 DatabaseName No
已清理的使用者資料表 tables_vacuumed_user_tables 計數 此資料庫中已清理的僅限使用者資料表數目。 DatabaseName No
清理計數器使用者資料表 vacuum_count_user_tables 計數 此資料庫中已手動清理僅限使用者資料表的次數 (不計算 VACUUM FULL)。 DatabaseName No

使用自動清理計量的考量

  • 使用 DatabaseName 維度的自動清理計量有 30 個資料庫限制。
  • 在可高載 SKU 上,使用 DatabaseName 維度的計量有 10 個資料庫限制。
  • DatabaseName 維度限制會套用在 OID 資料行上,以反映資料庫建立的順序。

PgBouncer 計量

您可以使用 PgBouncer 計量以監視 PgBouncer 程序的效能,包含使用者連線、閒置連線、集區連線總計和連線集區數目的詳細資料。 每個計量都會以 1 分鐘的間隔發出,而且可保留最多 93 天的歷程記錄。 客戶可以設定計量的警示,也可以存取新的計量維度以按資料庫名稱分割和篩選計量資料。

如何啟用 PgBouncer 計量

  • 若要啟用 PgBouncer 計量,請確定已透過伺服器參數 pgbouncer.enabled 啟用 pgbouncer 功能並已啟用計量參數 metrics.pgbouncer_diagnostics
  • 這些參數是動態,不需要執行個體重新啟動。
  • PgBouncer 計量依預設為停用。

PgBouncer 計量清單

Display name 計量識別碼 單位 描述 維度 預設為啟用
使用中用戶端連線 client_connections_active 計數 與適用於 PostgreSQL 的 Azure 資料庫彈性伺服器連線相關聯的用戶端連線。 DatabaseName No
等待用戶端連線 client_connections_waiting 計數 與正在等待適用於 PostgreSQL 的 Azure 資料庫彈性伺服器連線的用戶端連線,以便提供服務。 DatabaseName No
主動伺服器連線 server_connections_active 計數 連線至用戶端連線正在使用的適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器。 DatabaseName No
閒置伺服器連線 server_connections_idle 計數 連線至閒置且準備就緒進行新用戶端連線的適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器。 DatabaseName No
集區式連線總數目 total_pooled_connections 計數 目前集區式連線的數目。 DatabaseName No
連線集區的總數目 num_pools 計數 連線集區的總數目。 DatabaseName No

使用 PgBouncer 計量的考量

  • 使用 DatabaseName 維度的 PgBouncer 計量有 30 個資料庫限制。
  • 在可高載 SKU 上,限制為具有 DatabaseName 維度的 10 個資料庫。
  • DatabaseName 維度限制會套用在 OID 資料行上,以反映資料庫建立的順序。

資料庫可用性計量

Is-db-alive 是適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的資料庫伺服器可用性計量,可傳回 [1 for available][0 for not-available]。 每個計量都會以 1 分鐘的頻率發出,而且可保留最多 93 天的保留期。 客戶可以設定計量的警示。

顯示名稱 計量識別碼 單位 描述 維度 預設為啟用
資料庫保持運作 is_db_alive 計數 表示資料庫是否已啟動。 N/a Yes

使用資料庫可用性計量時的考量

  • 使用 MAX() 彙總此計量將可讓客戶在最後一刻判斷伺服器是否啟動或關閉。
  • 客戶可選擇使用所需的頻率 (5m、10m、30m 等) 進一步彙總這些計量以符合其警示需求,並避免出現任何誤判。
  • 其他可能的匯總是 AVG()MIN()

篩選和分割維度計量

在上述資料表中,某些計量有 DatabaseName 或 State 等維度。 您可以針對具有維度的計量使用篩選分割。 這些功能顯示各種計量區段 (或維度值) 如何影響整體計量值。 您可以使用這些功能來識別可能的極端值。

  • 篩選:使用篩選以選擇要包含在圖表中的維度值。 例如,當繪製 Sessions-by-State 計量時,您可能想要顯示閒置連線。 您可以在狀態維度中設定閒置篩選條件。
  • 分割:使用分割以控制圖表是要針對維度的每個值或彙總單一行的值時顯示個別的行。 例如,您可以在所有工作階段中看到一行 Sessions-by-State 計量。 您可以針對按狀態值分組的每個工作階段查看個別行。 請將分割套用至狀態維度以查看個別行。

下列範例示範按狀態維度分割及篩選特定狀態值:

螢幕擷取畫面顯示分割和篩選計量和維度的範例。

如需設定維度計量圖表的詳細資料,請參閱計量圖表範例

計量視覺效果

視覺化 Azure 監視器計量有數個選項。

元件 描述 必要的訓練和/或設定
概觀分頁 大部分 Azure 服務在 Azure 入口網站中會有 [概觀] 頁面,其中包含 [監視] 區段,具有顯示近期重要計量的圖表。 此資訊可供個別服務的擁有者快速評估資源的效能。 此頁面是以自動收集的平台計量為基礎。 不需要組態。
計量瀏覽器 您可以使用計量瀏覽器,以互動方式使用計量資料並建立計量警示。 您需要最基本的訓練才能使用計量瀏覽器,但必須熟悉您想要分析的計量。 - 設定資料收集之後,就不需要其他設定。
- 可自動取得 Azure 資源的平台計量。
- 可在將 Azure 監視器代理程式部署至虛擬機器之後,取得虛擬機器的來賓計量。
- 設定 Application Insights 之後,即可取得應用程式計量。
Grafana 您可以使用 Grafana 來視覺化和警示計量。 所有版本的 Grafana 都包含 Azure 監視器資料來源外掛程式,用以將 Azure 監視器計量和記錄視覺化。 若要熟悉 Grafana 儀表板,則需要一些訓練。 不過,您可以下載預先建置的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器 Grafana 監視儀表板,可讓您輕鬆監視組織內所有適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。

記錄

除了計量之外,您也可以使用適用於 PostgreSQL 的 Azure 資料庫彈性伺服器以設定和存取適用於 PostgreSQL 的 Azure 資料庫標準記錄。 如需詳細資訊,請參閱記錄概念

記錄視覺效果

元件 描述 必要的訓練和/或設定
Log Analytics 使用 Log Analytics,您可建立記錄查詢,以互動方式處理記錄資料,以及建立記錄查詢警示。 您需要一些訓練才能熟悉查詢語言,不過您可以使用預先建置的查詢來因應一般需求。

伺服器記錄

適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中的伺服器記錄功能可讓使用者啟用、設定及下載伺服器記錄,這對於疑難解答和執行伺服器活動的歷史分析至關重要。 根據預設,會停用 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中的伺服器記錄功能。 不過,啟用此功能之後,適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器會開始擷取所選記錄類型的事件,並將其寫入檔案。 然後,您可以使用 Azure 入口網站或 Azure CLI 來下載檔案,以協助您進行疑難排解工作。

伺服器記錄保留

伺服器記錄的保留期下限為 1 天,最大保留期為 7 天。 如果超過此限制,則會刪除最舊的記錄,以騰出空間供新記錄使用。 如需啟用和管理伺服器記錄的詳細資訊,請參閱設定 伺服器記錄的指南。

下一步