Tutorial: Programmgesteuertes Aufrufen von Grafana-APIs
In diesem Tutorial lernen Sie Folgendes:
- Zuweisen einer Azure Managed Grafana-Rolle zum Dienstprinzipal Ihrer Anwendung
- Abrufen von Anwendungsdetails
- Abrufen eines Zugriffstokens
- Aufrufen von Grafana-APIs
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Ein Azure Managed Grafana-Arbeitsbereich. Erstellen Sie eine Azure Managed Grafana-Instanz.
- Eine Microsoft Entra-Anwendung mit einem Dienstprinzipal. Erstellen einer Microsoft Entra-Anwendung und eines Dienstprinzipals. Verwenden Sei der Einfachheit halber eine Anwendung, die sich in demselben Microsoft Entra-Mandanten wie Ihre Azure Managed Grafana-Instanz befindet.
Anmelden bei Azure
Melden Sie sich unter https://portal.azure.com/ mit Ihrem Azure-Konto beim Azure-Portal an.
Zuweisen einer Azure Managed Grafana-Rolle zum Dienstprinzipal Ihrer Anwendung
Öffnen Sie im Azure-Portal Ihre Managed Grafana-Instanz.
Wählen Sie im Navigationsmenü Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.
Wählen Sie die Rolle Grafana-Editor und dann Weiter aus.
Wählen Sie unter Zugriff zuweisen zu die Option Benutzer, Gruppe oder Dienstprinzipal aus.
Wählen Sie Mitglieder auswählen aus, wählen Sie Ihren Dienstprinzipal aus, und klicken Sie auf Auswählen.
Wählen Sie Überprüfen und zuweisen aus.
Abrufen von Anwendungsdetails
Sie müssen jetzt einige Informationen sammeln, mit denen Sie ein Grafana-API-Zugriffstoken abrufen und Grafana-APIs aufrufen werden.
Ermitteln Ihrer Mandanten-ID:
- Geben Sie im Azure-Portal Microsoft Entra ID in das Feld Ressourcen, Dienste und Dokumente durchsuchen (G+/) ein.
- Wählen Sie Microsoft Entra ID aus.
- Wählen Sie im linken Menü Eigenschaften aus.
- Suchen Sie das Feld Mandanten-ID, und speichern Sie dessen Wert.
Ermitteln Ihrer Client-ID:
- Wählen Sie im Azure-Portal in Microsoft Entra ID im linken Menü App-Registrierungen aus.
- Wählen Sie Ihre App aus.
- Suchen Sie in der Übersicht das Feld Anwendungs-ID (Client), und speichern Sie dessen Wert.
Erstellen eines Anwendungsgeheimnisses:
- Wählen Sie im Azure-Portal in Microsoft Entra ID im linken Menü App-Registrierungen aus.
- Wählen Sie Ihre App aus.
- Wählen Sie im linken Menü Zertifikate und Geheimnisse aus.
- Wählen Sie Neuer geheimer Clientschlüssel.
- Erstellen Sie einen neuen geheimen Clientschlüssel, und speichern Sie dessen Wert.
Hinweis
Sie können erst unmittelbar nach dem Erstellen eines Geheimnisses auf dessen Wert zugreifen. Kopieren Sie den Wert, bevor Sie die Seite verlassen, um ihn im nächsten Schritt dieses Tutorials zu verwenden.
Ermitteln Sie die Grafana-Endpunkt-URL:
- Geben Sie im Azure-Portal Azure Managed Grafana in die Leiste Ressourcen, Dienste und Dokumente durchsuchen (G+/) ein.
- Wählen Sie Azure Managed Grafana aus, und öffnen Sie Ihren Managed Grafana-Arbeitsbereich.
- Wählen Sie Übersicht im linken Menü aus, und speichern Sie den Wert von Endpunkt.
Abrufen eines Zugriffstokens
Um auf Grafana-APIs zuzugreifen, müssen Sie ein Zugriffstoken abrufen. Sie können das Zugriffstoken über die Azure CLI oder eine POST-Anforderung abrufen.
Melden Sie sich bei der Azure CLI an, indem Sie den Befehl az login ausführen. Ersetzen Sie <client-id>
, <client-secret>
und <tenant-id>
durch die (Client-)ID, den geheimen Clientschlüssel und die Mandanten-ID der Anwendung, die im vorherigen Schritt gesammelt wurden:
az login --service-principal --username "<client-id>" --password "<client-secret>" --tenant "<tenant-id>"
Verwenden Sie den Befehl az grafana api-key create, um einen Schlüssel zu erstellen. Hier ist eine Beispielausgabe:
az grafana api-key create --key keyname --name <name> --resource-group <rg> --role editor --output json
{
"id": 3,
"key": "<redacted>",
"name": "keyname"
}
Hinweis
Sie können sich diesen Schlüssel hier nur einmal anzeigen lassen. Speichern Sie ihn an einem sicheren Ort.
Aufrufen von Grafana-APIs
Sie können nun Grafana-APIs abrufen, indem Sie das im vorherigen Schritt abgerufene Zugriffstoken als Autorisierungsheader verwenden. Beispiel:
curl -X GET \
-H 'Authorization: Bearer <access-token>' \
https://<grafana-url>/api/user
Ersetzen Sie <access-token>
und <grafana-url>
durch das im vorherigen Schritt abgerufene Zugriffstoken und die Endpunkt-URL Ihrer Grafana-Instanz. Beispiel: https://my-grafana-abcd.cuse.grafana.azure.com
.
Bereinigen von Ressourcen
Falls Sie diese Ressourcen nicht weiterverwenden möchten, löschen Sie sie wie folgt:
Löschen von Azure Managed Grafana:
- Wählen Sie im Azure-Portal in Azure Managed Grafana im linken Menü Übersicht aus.
- Klicken Sie auf Löschen.
- Geben Sie den Namen der Ressource ein, um den Löschvorgang zu bestätigen, und wählen Sie Löschen aus.
Löschen der Microsoft Entra-Anwendung:
- Wählen Sie im Azure-Portal in Microsoft Entra ID im linken Menü App-Registrierungen aus.
- Wählen Sie Ihre App aus.
- Wählen Sie auf der Registerkarte Übersicht die Option Löschen aus.
- Klicken Sie auf Löschen.