[英]Azure DTU database api
是否有API可以實時恢復DTU消耗? 我想在我的網站上重建這樣的圖表。
我不知道這樣做的任何API,但是您可以使用以下查詢來創建自己的API或在Azure Automation上創建運行該查詢的運行手冊,並將結果保存在數據庫中以收集性能數據。 您可以根據需要將其調度到每X分鍾一次。
DECLARE @startTime datetime
DECLARE @endTime datetime
DECLARE @timeGrain int
SET @startTime = GETDATE() - 5
SET @endTime = GETDATE()
SET @timeGrain = 3600
SELECT ((CONVERT(BIGINT, DATEDIFF(day, 0, [end_time])) * 24 * 3600 + DATEDIFF(second, DATEADD(day, DATEDIFF(day, 0, [end_time]), 0), [end_time])) / @timeGrain) * @timeGrain as start_time_interval
, MAX(cpu_percent) as cpu_percent
, MAX(physical_data_read_percent) as physical_data_read_percent
, MAX(log_write_percent) as log_write_percent
, MAX(memory_usage_percent) as memory_usage_percent
, MAX(xtp_storage_percent) as xtp_storage_percent
, MAX(dtu_consumption_percent) as dtu_consumption_percent
, MAX(workers_percent) as workers_percent
, MAX(sessions_percent) as sessions_percent
, MAX(dtu_limit) as dtu_limit
, MAX(dtu_used) as dtu_used
FROM
(SELECT
end_time
, ISNULL(avg_cpu_percent, 0) as cpu_percent
, ISNULL(avg_data_io_percent, 0) as physical_data_read_percent
, ISNULL(avg_log_write_percent, 0) as log_write_percent
, ISNULL(avg_memory_usage_percent, 0) as [memory_usage_percent]
, ISNULL(xtp_storage_percent, 0) as xtp_storage_percent
, ISNULL((SELECT MAX(v) FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS value(v)), 0) as dtu_consumption_percent
, ISNULL(max_worker_percent, 0) as workers_percent
, ISNULL(max_session_percent, 0) as sessions_percent
, ISNULL(dtu_limit, 0) as dtu_limit
, ISNULL(dtu_limit, 0) * ISNULL((SELECT MAX(v) FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS value(v)), 0) / 100.0 as dtu_used
FROM sys.dm_db_resource_stats
WHERE [end_time] >= @startTime AND [end_time] <= @endTime
) t
GROUP BY ((CONVERT(BIGINT, DATEDIFF(day, 0, [end_time])) * 24 * 3600 + DATEDIFF(second, DATEADD(day, DATEDIFF(day, 0, [end_time]), 0), [end_time])) / @timeGrain) * @timeGrain
希望我的回答不會太晚,
最近,有人要求我使用Azure監視API提取Azure DTU(平均指標)。 這里是一個示例工作代碼(您需要在appsettings.config文件中更新Azure訂閱/資源組名稱等值以使其正常工作。
要訪問監視API,您需要具有訪問令牌並生成令牌,請按照此處提到的步驟進行操作
如果您現在仍在閱讀,這里有一些詳細信息。
我們在Azure門戶上看到的所有內容(大部分)都在其Rest API上公開,SQL Server DTU是指標之一。
SQL DTU托管在以下URL: https ://management.azure.com/subscriptions/ {0} / resourceGroups / {1} /providers/Microsoft.Sql/servers/ {2} / databases / {3} / providers / microsoft.insights /指標?metricnames = dtu_consumption_percent&API-版本= 2018年1月1日與聚集=平均&時間跨度= PT1M
若要達到此終結點,您需要具有Bearer授權令牌,可以通過在Azure Active Directory(AAD)上注冊應用程序並使用該appid和應用程序密鑰進行身份驗證來實現,並獲得訪問令牌(Bearer令牌)
可用指標為“平均值/最小值/最大值/計數/總計”,使用其中之一(只需將“聚合查詢”字符串值更改為其中之一即可獲得相應的值)
您可以根據需要索取數據。 例如,要獲取最近1分鍾的DTU平均值,請在查詢字符串變量時間跨度中使用PT1M。 您將獲得一條記錄,以響應最新的DTU平均可用(通常比1-2分鍾大)
希望這有助於實現您的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.