Share via


監視 適用於 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
已耗用的CPU點數 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 傳出網路流量的數量。 Yes
網路 In network_bytes_ingress Bytes 連入網路流量的數量。 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 計數 依用戶端後端正在等候的事件類型進行會話。 Wait 事件類型 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 計量識別碼 單位 描述 尺寸 默認已啟用
已耗用的磁碟頻寬百分比 disk_bandwidth_consumed_percentage Percent 每分鐘耗用的數據磁碟頻寬百分比。 不適用 Yes
磁碟 IOPS 已耗用百分比 disk_iops_consumed_percentage Percent 每分鐘取用的數據磁碟 I/O 百分比。 不適用 Yes
交通流量
Display name 計量識別碼 單位 描述 尺寸 默認已啟用
最大 連線 ^ max_connections 計數 最大連線數目。 不適用 Yes

^ 最大 連線 代表伺服器參數的max_connections設定值。 此計量每 30 分鐘輪詢一次。

使用增強型計量的考慮
  • 使用 DatabaseName 維度的增強計量有 50 個資料庫 限制。
  • 高載 SKU 上,使用 DatabaseName 維度的計量限製為 10 個資料庫。
  • DatabaseName 維度限制會套用至pg_stat_database系統檢視的資料庫標識碼 (datid) 數據行,以反映資料庫的建立順序。
  • 計量 DatabaseName 維度 中的 不區分大小寫。 這表示在查詢pg_stat_database檢視之後,篩選出其中一個template1為 或template0的數據列datnamedatid並依 排序,並將傳回的數據列限制為前 50 個(或高載 SKU 時為 10 個),該結果集中的資料庫名稱計量相同,但案例除外(例如 contoso_databaseContoso_database和 )會合併,而且可能不會顯示準確的數據。

自動數據清理計量

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

如何啟用自動數據清理計量

  • 預設會停用自動數據清理計量。
  • 若要開啟這些計量,請將伺服器參數 metrics.autovacuum_diagnostics 設定為 ON
  • 此參數是動態的,因此不需要重新啟動實例。

自動數據清理計量清單

Display name 計量識別碼 單位 描述 尺寸 默認已啟用
分析計數器用戶數據表 analyze_count_user_tables 計數 在此資料庫中手動分析使用者專用數據表的次數。 DatabaseName No
AutoAnalyze 計數器用戶數據表 autoanalyze_count_user_tables 計數 此資料庫中自動數據清理精靈分析使用者專用數據表的次數。 DatabaseName No
AutoVacuum 計數器用戶數據表 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 Counter User Tables vacuum_count_user_tables 計數 在此資料庫中手動清理使用者專用數據表的次數(不計算 VACUUM FULL)。 DatabaseName No

使用自動數據清理計量的考慮

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

PgBouncer 計量

您可以使用 PgBouncer 計量來監視 PgBouncer 程式的效能,包括使用中聯機、閑置連線、集區連線總計和聯機集區數目的詳細數據。 每個計量都會以 1 分鐘 間隔發出,且最多 93 天 的歷史。 客戶可以在計量上設定警示,也可以存取新的計量維度,以依資料庫名稱分割和篩選計量數據。

如何啟用 PgBouncer 計量

  • 默認會停用 PgBouncer 計量。
  • 若要讓 PgBouncer 計量能夠運作,伺服器參數 pgbouncer.enabledmetrics.pgbouncer_diagnostics 都必須啟用。
  • 這些參數是動態的,不需要重新啟動實例。

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 是傳回 [1 for available][0 for not-available]之彈性伺服器之 適用於 PostgreSQL 的 Azure 資料庫 資料庫伺服器可用性計量。 每個計量都會以 1 分鐘 的頻率發出,最多保留 93 天 。 客戶可以在計量上設定警示。

顯示名稱 計量識別碼 單位 描述 尺寸 默認已啟用
資料庫運作中 is_db_alive 計數 指出資料庫是否已啟動。 N/a Yes

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

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

篩選和分割維度計量

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

  • 篩選:使用篩選來選擇圖表中包含的維度值。 例如,當您繪製計量圖表時,可能會想要顯示閑置連線 Sessions-by-State 。 您可以在 [狀態] 維度中設定 [閑置] 的篩選條件。
  • 分割:使用分割來控制圖表是否顯示維度每個值的個別線條,或是否匯總單一線條中的值。 例如,您可以在所有會話中看到一 Sessions-by-State 行計量。 您可以看到依狀態值分組之每個工作階段的個別行。 在 [狀態] 維度上套用分割,以查看個別的行。

下列範例示範依 State 維度分割,並篩選特定 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,您可以建立記錄查詢,以互動方式處理記錄數據,並建立記錄查詢警示。 您需要一些訓練才能熟悉查詢語言,不過您可以使用預先建置的查詢來因應一般需求。

下一步