Ü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?
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
#🎜🎜 #Metrikwerte für eine Ressource auflisten https://docs.microsoft.com/en-us/cli/azure/monitor/metrics? view=azure-cli-latest#az_monitor_metrics_list#🎜🎜 #
Metriken – Liste
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.
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
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 🎜#
Suchen Sie auf der Seite Zugriffskontrolle (IAM) von Redis nach und Gewähren Sie die Berechtigung „Monitoring Reader“ über den Anwendungsnamen in Schritt 1. 🎜🎜#
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.
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#🎜 🎜#
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))#🎜🎜 # Der Laufeffekt ist wie folgt:
Powershell
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
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!