[英]Is there a way to get the allocated storage data percentage metric from Azure SQL database resource for creating an alert?
我想創建一個警報來監視 Azure 中為 SQL 數據庫分配的數據存儲,以便我知道它何時將達到其分配的數據存儲容量。 理想情況下,像storage_percent這樣的東西會很完美,因為它監控百分比而不是字節。 但我想跟蹤分配的數據存儲。
以下是可以通過警報監控的指標列表: https : //docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftsqlserversdatabases
沒有任何可以跟蹤百分比的指標,只有字節。 ( allocation_data_storage有Bytes單位)
我目前的解決方法是以字節為單位檢索分配的數據存儲,然后將該值乘以我希望收到警報的閾值。
e.g.
threshold to trigger alert is 75%
allocated_data_storage is 4 GB
alert me when database storage is greater than 4 GB * 0.75 = 3 GB
但這似乎並不可靠,因為數據庫易於按比例放大/縮小數據大小。 因此,如果分配的數據存儲增加到 10 GB,我的警報仍將監視 3 GB 以下的數據存儲,現在低於分配數據存儲的 75%。
我們可以在 Portal 上獲取已用空間/分配空間/最大存儲大小:
或者您在數據庫中使用波紋管查詢:
-- Connect to database
-- Get database data space allocated in MB, max database stroage in MB and database data space allocated used in MB
SELECT SUM(size/128.0) AS DatabaseDataSpaceAllocatedInMB,
SUM(max_size/128.0) AS DatabaseDataSpaceMaxInMB,
SUM (CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0) AS DatabaseDataSpaceUsedInMB
FROM sys.database_files
GROUP BY type_desc
HAVING type_desc = 'ROWS'
您可以使用值創建一個新查詢以獲取警報值以構建警報規則,例如AllocatedSpace/UsedSpace
。
由於 Azure SQL 數據庫不支持發送電子郵件功能,我們可以使用邏輯應用程序來觸發它:
邏輯應用示例概述:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.