Heim  >  Artikel  >  Datenbank  >  So verwenden Sie Python-Code, um Überwachungsindikatorwerte von Azure Redis zu erhalten

So verwenden Sie Python-Code, um Überwachungsindikatorwerte von Azure Redis zu erhalten

WBOY
WBOYnach vorne
2023-05-28 11:16:28954Durchsuche

Problembeschreibung

Über die Metrik-Überwachungsseite können wir den Betriebsstatus und verschiedene Indikatoren der aktuellen Ressourcen (z. B. Redis) kennen. Was ist, wenn wir Indikatoren lokal herunterladen oder JSON-Daten generieren und diese in eine Überwachungsplattform eines Drittanbieters importieren müssen? Kann Azure verschiedene Indikatordaten über Python-Code oder Powershell-Skript exportieren?

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

Lösung

Ja!​ ​ Der PowerShell-Befehl kann Get-AzMetric oder den Befehl az monitor metrics list verwenden, um den Metrikwert der Ressource abzurufen. https://docs.microsoft.com/ en-us/powershell/module/az.monitor/get-azmetric?view=azps-5.4.0&viewFallbackFrom=azps-5.2.0

#🎜🎜 #
  • az Monitor-Metrikliste:

    Metrikwerte für eine Ressource auflisten https://docs.microsoft.com/en-us/cli/azure/monitor/metrics? view=azure-cli-latest#az_monitor_metrics_list#🎜🎜 #

  • Bei Verwendung von Python-Code können Sie die REST-API von Metrics verwenden, um
  • #🎜🎜 zu erreichen #

    Metriken – Liste
  • : Listet die Metrikwerte für eine Ressource auf: https://docs.microsoft.com/en-us/rest /api/monitor/metrics/list
#🎜🎜 #

Registrieren Sie die Anwendung in AAD, um das Zugriffstoken für den Zugriff auf Redis-Metriken im Python-Code zu erhalten: (Registrieren Sie die Anwendung bei der Microsoft-Identität Plattform: https://docs.azure.cn/zh-cn/active-directory/develop/quickstart-register-app)

  • Hinweis: Um Powershell nutzen zu können, müssen Sie sich zunächst bei Azure anmelden. Verwenden Sie den Befehl Connect-AzAccount -Environment AzureChinaCloud oder

    az cloud set –name AzureChinaCloud und az login.
  •        

    Um Python-Code verwenden zu können, müssen Sie zunächst das Token erhalten, um auf Redis-Metriken zugreifen zu können. Um das Token zu erhalten, können Sie eine Anwendung in Azure AD registrieren und der Anwendung dann in der Redis-Zugriffssteuerung die Leseberechtigung zum Lesen von Metris-Daten erteilen.

Ausführungsschritte

PythonSchritt 1: AAD-Anwendung registrieren, Anwendungs-ID kopieren, Client-Zugriffskennwort # 🎜🎜#

Melden Sie sich bei der Azure-Plattform an, rufen Sie die AAD-Seite auf und klicken Sie auf App-Registrierungen: https://portal.azure.cn/?l=en. en-us #blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

Klicken Sie auf die Schaltfläche „

Neue Registrierung

“, geben Sie den Anwendungsnamen ein und belassen Sie andere Werte als Standardwerte und klicken Sie auf Speichern

  • Nach erfolgreicher Erstellung rufen Sie die Anwendungsseite auf und importieren sie in die Datei „Zertifikate & Geheimnisse“ Erstellen Sie auf der Seite das Client-Geheimnis, das Sie verwenden müssen, und kopieren Sie es. Im dritten Schritt müssen Sie

  • verwenden, um Tenant-ID, Anwendungs-ID# herauszukopieren. 🎜🎜# auf der Anwendungsseite und muss #🎜 im dritten Schrittcode verwenden 🎜#

  • Der spezifische Vorgangsprozess wird in der folgenden Animation dargestellt: #🎜🎜 #

  • Schritt 2: Erteilen Sie die Berechtigung zum Abrufen von Metriken
  • Suchen Sie auf der Seite Zugriffskontrolle (IAM) von Redis nach und Gewähren Sie die Berechtigung „Monitoring Reader“ über den Anwendungsnamen in Schritt 1. 🎜🎜#

Statuscode: 844a6bd49dc3eb7dda5a7922bcdafb06

Response Content: b'{"error":{" code: „AuthorizationFailed“, „message“: „Der Client „xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx“ mit der Objekt-ID „xxxxxxxx-xxxx-xxxx-xxxx-36166b5f7276“ verfügt nicht über die Berechtigung, die Aktion „microsoft.insights“ auszuführen /metrics/read' über den Bereich '/subscriptions/xxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx -rg/providers/Microsoft.Cache/Redis/xxxx/providers/microsoft.insights' oder der Bereich ist ungültig Der Zugriff wurde kürzlich gewährt. Bitte aktualisieren Sie Ihre Anmeldeinformationen.

Schritt 3: Python-Code schreiben, Anfragen zum Senden von psot verwenden, Anfrage abrufen

  • Der Code besteht aus zwei Hauptteilen: Einer besteht darin, den Zugriff zu erhalten Token und das andere ist es, Metrikdaten zu erhalten

  • Der hervorgehobene Inhalt muss durch die entsprechenden Ressourceninformationen und die im ersten Schritt vorbereiteten Informationen ersetzt werden#🎜 🎜#

  • Im Hauptinhalt des Zugriffstokens ist grant_type ein fester Wert, nämlich client_credentials. Der Wert der Ressource ist der Verwaltungsendpunkt von Azure in China:

    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))
#🎜🎜 # Der Laufeffekt ist wie folgt:

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

    Loginazure #🎜🎜 #
  • Befehl „Az Monitor Metrics List vorbereiten“
  • 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

  • Der Ausführungseffekt ist wie folgt:
#🎜 🎜#

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python-Code, um Überwachungsindikatorwerte von Azure Redis zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen