Heim > Datenbank > Redis > Hauptteil

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

WBOY
Freigeben: 2023-05-28 11:16:28
nach vorne
953 Leute haben es durchsucht

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:

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))
    Nach dem Login kopieren
#🎜🎜 # 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
    Nach dem Login kopieren
    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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage