91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python代碼獲取Azure Redis的監控指標值

發布時間:2022-03-29 15:55:19 來源:億速云 閱讀:186 作者:iii 欄目:移動開發

今天小編給大家分享一下如何使用Python代碼獲取Azure Redis的監控指標值的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

問題描述

通過Metrics監控頁面,我們能得知當前資源(如Redis)的運行情況與各種指標。如果我們需要把指標下載到本地或者生成JSON數據導入到第三方的監控平臺呢?Azure是否可以通過Python代碼或者時Powershell腳本導出各種指標數據呢?

如何使用Python代碼獲取Azure Redis的監控指標值

解決辦法

可以!       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

  • 在AAD中注冊應用獲取在Python代碼中訪問Redis Metrics的Access Token: (將應用程序注冊到 Microsoft 標識平臺: https://docs.azure.cn/zh-cn/active-directory/develop/quickstart-register-app)

注:使用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,客戶端訪問密碼

  •  登錄Azure平臺,進入AAD頁面,點擊App registrations: https://portal.azure.cn/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

  • 點擊“New Registration” 按鈕,輸入應用名稱,其他值保留默認,點擊保存

  • 創建成功后,進入應用頁面,導入到“Certificates & secrets”頁面,創建需要使用的Client Secret并復制出來,第三步需要使用

  • 在應用頁面復制出Tenant ID, Applicaiton ID需要在第三步代碼中使用

具體操作過程見如下動圖:

如何使用Python代碼獲取Azure Redis的監控指標值

步驟二:賦予獲取Metrics的權限

在Redis的Access control (IAM)頁面中,通過步驟一的應用名搜索并賦予Monitoring Reader權限

 如何使用Python代碼獲取Azure Redis的監控指標值

注:如沒有賦予權限,則代碼中會報出類似錯誤:

Status Code: <Response [403]>
Response Content: b'{“error”:{“code”:”AuthorizationFailed”,”message”:”The client ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’ with object id ‘xxxxxxxx-xxxx-xxxx-xxxx-36166b5f7276’ does not have authorization to perform action ‘microsoft.insights/metrics/read’ over scope ‘/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx-rg/providers/Microsoft.Cache/Redis/xxxx/providers/microsoft.insights’ or the scope is invalid. If access was recently granted, please refresh your credentials.”}}’

步驟三:編寫Python代碼,使用requests來發送psot,get請求

  • 代碼中主要有兩部分內容:一是獲取Access Token,二是獲取Metrics Data

  • 高亮中的內容都是需要替換成相應的資源信息和第一步中準備的信息

  • 在獲取Access Token的Body內容中,grant_type是固定值,為client_credentials。resource的值為中國區azure的管理終結點:https://management.chinacloudapi.cn

import requestsimport json##Part 1: Get Access Tokenaadurl="https://login.chinacloudapi.cn/<your aad tenant id>/oauth2/token"aadbody={'grant_type':'client_credentials','client_id':'your aad client id','client_secret':'your aad client secret','resource':'https://management.chinacloudapi.cn'}
rtoken= requests.post(aadurl, data=aadbody)##print(rtoken)objtoken = json.loads(rtoken.text)##print(obj['access_token'])##Part 2: Get the Metrics Value by Tokenheaders = {'content-type': "application/json",           'Authorization': 'Bearer '+objtoken['access_token']
        }

url= "https://management.chinacloudapi.cn/subscriptions/<subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Cache/Redis/<your redis name>/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=expiredkeys,usedmemory"r = requests.get(url, headers=headers)print('Status Code: ' + str(r))print('Response Content: ' + str(r.content))

運行效果如:

如何使用Python代碼獲取Azure Redis的監控指標值

Powershell

  • 登錄azure

  • 準備az monitor metrics list命令

az cloud set --name AzureChinaCloud

az login

az monitor metrics list --resource /subscriptions/<your subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Cache/Redis/<your redis name> --metric usedmemory --aggregation Maximum --interval PT1M

執行效果如下:

如何使用Python代碼獲取Azure Redis的監控指標值 如何使用Python代碼獲取Azure Redis的監控指標值

以上就是“如何使用Python代碼獲取Azure Redis的監控指標值”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁平县| 凤城市| 新巴尔虎右旗| 安陆市| 海兴县| 霍邱县| 永德县| 同江市| 洛扎县| 安乡县| 张家港市| 建阳市| 融水| 西城区| 历史| 乌鲁木齐县| 德庆县| 无极县| 武定县| 方正县| 时尚| 忻城县| 廊坊市| 新建县| 玉门市| 六安市| 汉中市| 财经| 灌云县| 崇阳县| 天峨县| 惠水县| 饶阳县| 宁都县| 同江市| 徐州市| 漳平市| 衡阳县| 团风县| 溆浦县| 壶关县|