Maison > base de données > Redis > le corps du texte

Comment utiliser le code Python pour obtenir les valeurs des indicateurs de surveillance d'Azure Redis

WBOY
Libérer: 2023-05-28 11:16:28
avant
953 Les gens l'ont consulté

Description du problème

Grâce à la page de surveillance des métriques, nous pouvons connaître l'état de fonctionnement et divers indicateurs des ressources actuelles (telles que Redis). Que se passe-t-il si nous devons télécharger des indicateurs localement ou générer des données JSON et les importer sur une plateforme de surveillance tierce ? Azure peut-il exporter diverses données d'indicateurs via du code Python ou un script Powershell ?

如何使用Python代码获取Azure Redis的监控指标值

Solution

Oui !​ ​ La commande PowerShell peut utiliser la commande Get-AzMetric ou az monitor metrics list pour obtenir la valeur Metrics de la ressource. https://docs.microsoft.com/en-us/powershell/module/az.monitor/get-azmetric?view=azps-5.4.0&viewFallbackFrom=azps-5.2.0

#🎜🎜 #
  • Liste des métriques du moniteur az :

    Répertorier les valeurs de métriques pour une ressource https://docs.microsoft.com/en-us/cli/azure/monitor/metrics? view=azure-cli-latest#az_monitor_metrics_list#🎜🎜 #

  • Lorsque vous utilisez du code Python, vous pouvez utiliser l'API REST de Metrics pour réaliser
  • #🎜🎜 #

    Metrics – List
  • :Répertorie les valeurs métriques d'une ressource https://docs.microsoft.com/en-us/rest. /api/monitor/metrics/list
#🎜🎜 #

Enregistrez l'application dans AAD pour obtenir le jeton d'accès pour accéder à Redis Metrics en code Python : (Enregistrez l'application à l'identité Microsoft plateforme : https://docs.azure.cn/zh-cn/active-directory/develop/quickstart-register-app)

  • Remarque : Vous devez d'abord vous connecter à Azure pour utiliser Powershell. Utilisez la commande Connect-AzAccount -Environment AzureChinaCloud ou

    az cloud set –name AzureChinaCloud et az login.
  •        

    Pour utiliser le code Python, vous devez d'abord obtenir le jeton pour accéder aux métriques Redis. Pour obtenir le jeton, vous pouvez enregistrer une application dans Azure AD, puis accorder à l'application l'autorisation de lecteur dans le contrôle d'accès Redis pour lire les données Metris.

Étapes d'exécution

PythonÉtape 1 : Enregistrez l'application AAD, copiez l'ID de l'application, le mot de passe d'accès client # 🎜🎜#

Connectez-vous à la plateforme Azure, entrez dans la page AAD, cliquez sur Inscriptions d'applications : https://portal.azure.cn/?l=en. fr-us #blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

Cliquez sur le bouton "

New Registration

", entrez le nom de l'application, laissez les autres valeurs par défaut, et cliquez sur Enregistrer

  • Après une création réussie, entrez dans la page de candidature, importez dans le "Certificats & secrets" page, créez le secret client que vous devez utiliser et copiez-le, la troisième étape doit utiliser

  • pour copier Tenant ID, Applicaiton ID# 🎜🎜# sur la page de candidature et doit utiliser #🎜 dans le code de la troisième étape 🎜#

  • Le processus de fonctionnement spécifique est illustré dans l'animation suivante : #🎜🎜 #

  • Étape 2 : Accordez l'autorisation d'obtenir des métriques
  • Dans la page Contrôle d'accès (IAM) de Redis, recherchez et accordez l'autorisation Monitoring Reader via le nom de l'application à l'étape 1 #🎜🎜 #

  • Remarque : si l'autorisation n'est pas accordée, une erreur similaire sera signalée dans le code : # 🎜🎜#

Code d'état :

Contenu de la réponse : b'{"erreur":{" code": "AuthorizationFailed", "message": "Le client 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' avec l'ID d'objet 'xxxxxxxxx-xxxx-xxxx-xxxx-36166b5f7276' n'a pas l'autorisation d'effectuer l'action 'microsoft.insights /metrics/read' sur la portée '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx -rg/providers/Microsoft.Cache/Redis/xxxx/providers/microsoft.insights' ou si la portée n'est pas valide. l'accès a été récemment accordé, veuillez actualiser vos informations d'identification. "}}'如何使用Python代码获取Azure Redis的监控指标值

#🎜 🎜#

Étape 3 : Écrivez du code Python, utilisez des requêtes pour envoyer du psot, obtenez une requête

  • Il y a deux parties principales dans le code : l'une consiste à obtenir l'accès Token, et l'autre est Il s'agit d'obtenir des données métriques

  • Le contenu mis en surbrillance doit être remplacé par les informations sur la ressource correspondantes et les informations préparées dans la première étape#🎜 🎜#

  • Dans le contenu du corps de l'obtention du jeton d'accès, grant_type est une valeur fixe, qui est client_credentials. La valeur de la ressource est le point de terminaison de gestion d'Azure en Chine :

    https://management.chinacloudapi.cn

  • import requestsimport json##Part 1: Get Access Tokenaadurl="https://login.chinacloudapi.cn/<your aad tenant id>/oauth2/token"aadbody={&#39;grant_type&#39;:&#39;client_credentials&#39;,&#39;client_id&#39;:&#39;your aad client id&#39;,&#39;client_secret&#39;:&#39;your aad client secret&#39;,&#39;resource&#39;:&#39;https://management.chinacloudapi.cn&#39;}
    rtoken= requests.post(aadurl, data=aadbody)##print(rtoken)objtoken = json.loads(rtoken.text)##print(obj[&#39;access_token&#39;])##Part 2: Get the Metrics Value by Tokenheaders = {&#39;content-type&#39;: "application/json",           &#39;Authorization&#39;: &#39;Bearer &#39;+objtoken[&#39;access_token&#39;]
            }
    
    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(&#39;Status Code: &#39; + str(r))print(&#39;Response Content: &#39; + str(r.content))
    Copier après la connexion
#🎜🎜 # L'effet de course est le suivant :

如何使用Python代码获取Azure Redis的监控指标值Powershell

    Loginazure #🎜🎜 #
  • Préparer la commande 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
    Copier après la connexion
    L'effet d'exécution est le suivant :
#🎜 🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal