透過Metrics監控頁面,我們能得知目前資源(如Redis)的運作與各種指標。如果我們需要把指標下載到本地或產生JSON資料匯入到第三方的監控平台呢? Azure是否可以透過Python程式碼或時Powershell腳本匯出各種指標資料呢?
可以! PowerShell指令可以使用Get-AzMetric 或是 az monitor metrics list指令來取得資源的Metrics值。
Get-AzMetric:Gets the metric values of a resource. https://docs.microsoft.com/en-us/powershell/module /az.monitor/get-azmetric?view=azps-5.4.0&viewFallbackFrom=azps-5.2.0
## az monitor metrics list: List the metric values for a resource. https://docs.microsoft.com/en-us/cli/azure/monitor/metrics?view=azure-cli-latest#az_monitor_metrics_list
#而使用Python程式碼,可以使用Metrics的REST API來實作
#Metrics – List:Lists the metric values for a resource. https://docs .microsoft.com/en-us/rest/api/monitor/metrics/list
#:使用Powershell必須先登入Azure。使用指令 Connect-AzAccount -Environment AzureChinaCloud 或 az cloud set –name AzureChinaCloud 和 az login。
使用Python程式碼則需要先取得到存取Redis Metrics的Token。取得Token可以在Azure AD中註冊一個應用,然後給予該應用程式在Redis的存取控制中賦予reader的權限即可讀取Metris資料。
執行步驟Python步驟一:註冊AAD應用程式,複製應用程式ID,客戶端存取密碼App registrations: https://portal.azure.cn/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
New Registration」 按鈕,輸入應用程式名稱,其他值保留默認,點選儲存
Certificates & secrets」頁面,建立需要使用的Client Secret並複製出來,第三步驟需要使用
需要在第三步驟程式碼中使用
步驟二:賦予取得Metrics的權限
#
附註:如沒有賦予權限,則程式碼中會回報類似錯誤:
Response Content: b'{“error”:{“code”:”AuthorizationFailed”,”message”:”The client 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' with object id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx -xxxx-xxxx-xxxx-36166b5f7276' does not have authorization to perform action 'microsoft.insights/metrics/read' over scope '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxx/x/resourcep/Microsoftx/x .Cache/Redis/xxxx/providers/microsoft.insights' or the scope is invalid. If access was recently granted, please refresh your credentials.”}}' |
以上是如何使用Python程式碼取得Azure Redis的監控指標值的詳細內容。更多資訊請關注PHP中文網其他相關文章!