欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用Python代碼獲取AzureRedis的監(jiān)控指標(biāo)值

今天小編給大家分享一下如何使用Python代碼獲取Azure redis的監(jiān)控指標(biāo)值的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

在成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷成為有效果、有回報(bào)的無(wú)錫營(yíng)銷推廣。成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)十余年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。

問題描述

通過(guò)Metrics監(jiān)控頁(yè)面,我們能得知當(dāng)前資源(如Redis)的運(yùn)行情況與各種指標(biāo)。如果我們需要把指標(biāo)下載到本地或者生成JSON數(shù)據(jù)導(dǎo)入到第三方的監(jiān)控平臺(tái)呢?Azure是否可以通過(guò)Python代碼或者時(shí)Powershell腳本導(dǎo)出各種指標(biāo)數(shù)據(jù)呢?

如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值

解決辦法

可以!       PowerShell命令可以使用Get-AzMetric 或者是 az monitor metrics list命令來(lái)獲取資源的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來(lái)實(shí)現(xiàn)

  • Metrics – List:Lists the metric values for a resource. https://docs.microsoft.com/en-us/rest/api/monitor/metrics/list

  • 在AAD中注冊(cè)應(yīng)用獲取在Python代碼中訪問Redis Metrics的Access Token: (將應(yīng)用程序注冊(cè)到 Microsoft 標(biāo)識(shí)平臺(tái): 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中注冊(cè)一個(gè)應(yīng)用,然后給該應(yīng)用在Redis的訪問控制中賦予reader的權(quán)限即可讀取Metris數(shù)據(jù)。

執(zhí)行步驟

Python

步驟一:注冊(cè)AAD應(yīng)用,復(fù)制應(yīng)用ID,客戶端訪問密碼

  •  登錄Azure平臺(tái),進(jìn)入AAD頁(yè)面,點(diǎn)擊App registrations: https://portal.azure.cn/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

  • 點(diǎn)擊“New Registration” 按鈕,輸入應(yīng)用名稱,其他值保留默認(rèn),點(diǎn)擊保存

  • 創(chuàng)建成功后,進(jìn)入應(yīng)用頁(yè)面,導(dǎo)入到“Certificates & secrets”頁(yè)面,創(chuàng)建需要使用的Client Secret并復(fù)制出來(lái),第三步需要使用

  • 在應(yīng)用頁(yè)面復(fù)制出Tenant ID, Applicaiton ID需要在第三步代碼中使用

具體操作過(guò)程見如下動(dòng)圖:

如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值

步驟二:賦予獲取Metrics的權(quán)限

在Redis的Access control (IAM)頁(yè)面中,通過(guò)步驟一的應(yīng)用名搜索并賦予Monitoring Reader權(quán)限

 如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值

注:如沒有賦予權(quán)限,則代碼中會(huì)報(bào)出類似錯(cuò)誤:

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來(lái)發(fā)送psot,get請(qǐng)求

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

  • 高亮中的內(nèi)容都是需要替換成相應(yīng)的資源信息和第一步中準(zhǔn)備的信息

  • 在獲取Access Token的Body內(nèi)容中,grant_type是固定值,為client_credentials。resource的值為中國(guó)區(qū)azure的管理終結(jié)點(diǎn):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))

運(yùn)行效果如:

如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值

Powershell

  • 登錄azure

  • 準(zhǔn)備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

執(zhí)行效果如下:

如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值 如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值

以上就是“如何使用Python代碼獲取Azure Redis的監(jiān)控指標(biāo)值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:如何使用Python代碼獲取AzureRedis的監(jiān)控指標(biāo)值
標(biāo)題鏈接:http://chinadenli.net/article40/ihooho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司域名注冊(cè)商城網(wǎng)站網(wǎng)站導(dǎo)航網(wǎng)站制作營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名