Freigeben über


Tutorial: Erstellen eines Java-Metrikendashboards mit Azure Managed Grafana

In diesem Lernprogramm erfahren Sie, wie Sie ein Metrik-Dashboard mit Azure Managed Grafana einrichten, um Java-Anwendungen zu überwachen, die in Azure-Container-Apps ausgeführt werden.

Grafana ist ein beliebtes Tool für die zentralisierte Visualisierung und Überwachung von Metriken in der Branche. Azure Managed Grafana ist ein vollständig verwalteter Azure-Dienst, mit dem Sie Grafana-Dashboards mit nahtloser Azure-Integration bereitstellen und verwalten können. Mit Azure Managed Grafana können Sie Java-Metriken, die von Azure Container Apps verfügbar gemacht werden, visualisieren oder Java-Metriken in Ihre vorhandenen Grafana-Dashboards integrieren können.

In diesem Tutorial:

  • Erstellen Sie eine Azure Managed Grafana-Instanz.
  • Erstellen Sie in Grafana ein Java-Metrikendashboard.
  • Visualisieren Sie Java-Metriken für Azure Container Apps mit Grafana.

Voraussetzungen

Einrichten der Umgebung

Führen Sie die folgenden Schritte aus, um Umgebungsvariablen zu definieren und sicherzustellen, dass Ihre Azure Managed Grafana-Erweiterung auf dem neuesten Stand ist.

  1. Erstellen Sie Variablen zur Unterstützung Ihrer Grafana-Konfiguration.

    export LOCATION=eastus
    export SUBSCRIPTION_ID={subscription-id}
    export RESOURCE_GROUP=grafana-resource-group
    export GRAFANA_INSTANCE_NAME=grafana-name
    
    Variable Beschreibung
    LOCATION Die Azure-Region, in der Sie Ihre Azure Managed Grafana-Instanz erstellen
    SUBSCRIPTION_ID Die Abonnement-ID, die Sie zum Erstellen Ihrer Azure-Container-Apps und Azure Managed Grafana-Instanz verwenden.
    RESOURCE_GROUP Der Name der Azure-Ressourcengruppe für Ihre Azure Managed Grafana-Instanz
    GRAFANA_INSTANCE_NAME Der Instanzname für Ihre Azure Managed Grafana-Instanz.
  2. Melden Sie sich über die Azure-Befehlszeilenschnittstelle bei Azure an.

    az login
    
  3. Erstellen Sie eine Ressourcengruppe.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Verwenden Sie den folgenden Befehl, um sicherzustellen, dass Sie über die neueste Version der Azure CLI-Erweiterungen für Azure Managed Grafana verfügen.

    az extension add --name amg --upgrade
    

Einrichten einer Azure Managed Grafana-Instanz

Erstellen Sie zunächst eine Azure Managed Grafana-Instanz, und weisen Sie ihr die erforderlichen Rollenzuweisungen zu.

  1. Erstellen Sie eine Azure Managed Grafana-Instanz.

    az grafana create \
        --name $GRAFANA_INSTANCE_NAME \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Um Metriken aus Azure Monitor zu lesen, müssen Sie der Azure Managed Grafana-Instanz eine Monitoring Reader-Rolle gewähren. Weitere Informationen finden Sie unter Authentifizierung und Berechtigungen für Azure Managed Grafana.

    GRAFA_IDDENTITY=$(az grafana show --name $GRAFANA_INSTANCE_NAME --resource-group $RESOURCE_GROUP --query "identity.principalId" --output tsv)
    
    az role assignment create --assignee $GRAFA_IDDENTITY --role "Monitoring Reader" --scope /subscriptions/$SUBSCRIPTION_ID
    

Erstellen eines Java-Metrikendashboards

Wichtig

Wenn Sie in Grafana ein neues Dashboard hinzufügen möchten, benötigen Sie die Rolle Grafana Admin oder Grafana Editor wie unter Azure Managed Grafana-Rollen beschrieben.

  1. Weisen Sie Ihrem Konto in der Azure Managed Grafana-Ressource die Rolle Grafana Admin zu.

    Rufen Sie die Ressourcen-ID für Ihre Azure Managed Grafana-Instanz ab.

    GRAFANA_RESOURCE_ID=$(az grafana show --resource-group $RESOURCE_GROUP --name $GRAFANA_INSTANCE_NAME --query id --output tsv)
    

    Ersetzen Sie vor dem Ausführen dieses Befehls den Platzhalter <USER_OR_SERVICE_PRINCIPAL_ID> durch Ihre Benutzer- oder Dienstprinzipal-ID.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Grafana Admin" \
        --scope $GRAFANA_RESOURCE_ID
    
  2. Laden Sie die JSON-Datei mit dem Beispiel für ein Java-Metrikendashboard für Azure Container Apps herunter.

  3. Rufen Sie den Endpunkt der Azure Managed Grafana-Ressource ab.

    az grafana show --resource-group $RESOURCE_GROUP \
       --name $GRAFANA_INSTANCE_NAME \
       --query "properties.endpoint" \
       --output tsv
    

    Dieser Befehl gibt die URL zurück, die Sie für den Zugriff auf das Azure Managed Grafana-Dashboard verwenden können. Öffnen Sie Ihren Browser mit der URL, und melden Sie sich an.

  4. Wechseln Sie zu Dashboard>New –>Import und laden Sie die JSON-Beispieldatei des Dashboards hoch, die Sie im vorherigen Schritt heruntergeladen haben. Wählen Sie die integrierte Azure Monitor Standarddatenquelle und dann die Import Schaltfläche aus.

    Screenshot des Importierens des Java-Metrikendashboards für Azure Container Apps

Visualisieren von Java-Metriken für Azure Container Apps mit Grafana

  1. Geben Sie Ihre Ressourceninformationen in die Filter für Ihre Azure Container Apps ein. Jetzt können Sie alle unterstützten Java Virtual Machine (JVM)-Metriken in Azure-Container-Apps im Dashboard anzeigen. Das Beispieldashboard stellt Livemetrikdaten bereit, z. B.

    • Übersicht über die Container-App
    • JVM-Speicherauslastung
    • JVM-Speicherpuffer
    • JVM Garbage Collection (GC)
    • Eine detaillierte Analyse der JVM-Speicherauslastung

    Screenshot der Registerkarte „Übersicht“ in Grafana

    Screenshot der Registerkarte „JVM-Speicher“ in Grafana

    Screenshot der Registerkarte „JVM-Pufferspeicher“ in Grafana

    Screenshot der Registerkarte „JVM-GC“ in Grafana

    Screenshot der Registerkarte „JVM-Speicheranalyse“ in Grafana

Sie können dieses Dashboard als Ausgangspunkt verwenden, um eigene angepasste Lösungen für die Visualisierung und Überwachung von Metriken zu erstellen.

Bereinigen von Ressourcen

Die in diesem Tutorial erstellten Ressourcen wirken sich auf Ihre Azure-Abrechnung aus. Führen Sie den folgenden Befehl aus, um alle in diesem Tutorial erstellten Ressourcen zu entfernen, wenn Sie diese Dienste nicht langfristig verwenden werden.

az group delete --resource-group $RESOURCE_GROUP