Poradnik: Budowanie panelu z metrykami w Java z Azure Managed Grafana

Z tego samouczka dowiesz się, jak skonfigurować panel monitorowania metryk w celu monitorowania aplikacji Java działających w usłudze Azure Container Apps przy użyciu Azure Managed Grafana.

Grafana to popularne narzędzie do scentralizowanej wizualizacji metryk i monitorowania w branży obserwacji. Azure Managed Grafana to w pełni zarządzana usługa platformy Azure, która umożliwia wdrażanie pulpitów nawigacyjnych platformy Grafana i zarządzanie nimi przy użyciu bezproblemowej integracji platformy Azure. Za pomocą narzędzia Azure Managed Grafana można wizualizować metryki języka Java uwidocznione przez usługę Azure Container Apps lub zintegrować metryki Języka Java z istniejącymi pulpitami nawigacyjnymi narzędzia Grafana.

W tym samouczku wykonasz:

  • Utwórz instancję usługi Azure Managed Grafana.
  • Tworzenie pulpitu nawigacyjnego metryk języka Java w narzędziu Grafana.
  • Wizualizowanie metryk języka Java dla usługi Azure Container Apps za pomocą narzędzia Grafana.

Wymagania wstępne

Konfigurowanie środowiska

Wykonaj poniższe kroki, aby zdefiniować zmienne środowiskowe i upewnić się, że rozszerzenie Azure Managed Grafana jest aktualne.

  1. Utwórz zmienne, aby wspierać konfigurację narzędzia Grafana.

    export LOCATION=eastus
    export SUBSCRIPTION_ID={subscription-id}
    export RESOURCE_GROUP=grafana-resource-group
    export GRAFANA_INSTANCE_NAME=grafana-name
    
    Zmienna opis
    LOCATION Lokalizacja regionu świadczenia usługi Azure, w której tworzysz wystąpienie usługi Azure Managed Grafana.
    SUBSCRIPTION_ID Identyfikator subskrypcji, który służy do tworzenia wystąpień usługi Azure Container Apps i Azure Managed Grafana.
    RESOURCE_GROUP Nazwa grupy zasobów platformy Azure dla wystąpienia usługi Azure Managed Grafana.
    GRAFANA_INSTANCE_NAME Nazwa instancji dla zarządzanego przez Azure Grafana.
  2. Zaloguj się do Azure za pomocą Azure CLI.

    az login
    
  3. Utwórz grupę zasobów.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Użyj następującego polecenia, aby upewnić się, że masz najnowszą wersję rozszerzeń interfejsu wiersza polecenia platformy Azure dla usługi Azure Managed Grafana.

    az extension add --name amg --upgrade
    

Konfigurowanie instancji "Azure Managed Grafana" platformy Azure

Najpierw utwórz instancję Azure Managed Grafana i przyznaj niezbędne przypisania ról.

  1. Utwórz wystąpienie usługi Azure Managed Grafana.

    az grafana create \
        --name $GRAFANA_INSTANCE_NAME \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Aby odczytać metryki z usługi Azure Monitor, musisz przyznać wystąpieniu usługi Azure Managed Grafana rolę Monitoring Reader. Aby dowiedzieć się więcej, zobacz uwierzytelnianie i uprawnienia dla usługi 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
    

Tworzenie pulpitu nawigacyjnego metryk języka Java

Ważne

Aby dodać nowy pulpit nawigacyjny w Grafanie, musisz mieć rolę Grafana Admin lub Grafana Editor, zobacz Role zarządzane platformą Azure dla Grafana.

  1. Przypisz rolę Grafana Admin do swojego konta w zasobie Azure Managed Grafana.

    Pobierz identyfikator zasobu dla wystąpienia usługi Azure Managed Grafana.

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

    Przed uruchomieniem tego polecenia zastąp symbol zastępczy <USER_OR_SERVICE_PRINCIPAL_ID> identyfikatorem użytkownika lub jednostki usługi.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Grafana Admin" \
        --scope $GRAFANA_RESOURCE_ID
    
  2. Pobierz plik json z przykładowym pulpitem nawigacyjnym metryki Java dla usługi Azure Container Apps.

  3. Uzyskaj punkt końcowy zasobu zarządzanego narzędzia Grafana platformy Azure.

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

    To polecenie zwraca adres URL, którego można użyć do uzyskania dostępu do pulpitu nawigacyjnego usługi Azure Managed Grafana. Otwórz przeglądarkę przy użyciu adresu URL i zaloguj się.

  4. Przejdź do Dashboard>New, >Import i przekaż plik JSON przykładowego pulpitu nawigacyjnego pobrany w poprzednim kroku. Wybierz domyślne wbudowane Azure Monitor źródło danych, a następnie wybierz Import przycisk.

    Zrzut ekranu przedstawiający importowanie pulpitu nawigacyjnego metryk języka Java dla usługi Azure Container Apps.

Wizualizowanie metryk języka Java dla usługi Azure Container Apps za pomocą narzędzia Grafana

  1. Wprowadź informacje o zasobie w filtrach dla usługi Azure Container Apps. Teraz możesz wyświetlić wszystkie obsługiwane metryki maszyny wirtualnej Java (JVM) w usłudze Azure Container Apps na pulpicie nawigacyjnym. Przykładowy pulpit nawigacyjny zawiera dane metryczne w czasie rzeczywistym, w tym

    • Omówienie aplikacji kontenerowej
    • Użycie pamięci JVM
    • Bufor pamięci JVM
    • Zarządzanie pamięcią JVM (GC)
    • Szczegółowa analiza użycia pamięci JVM

    Zrzut ekranu przedstawiający kartę Przegląd w narzędziu Grafana.

    Zrzut ekranu przedstawiający kartę pamięci JVM w narzędziu Grafana.

    Zrzut ekranu zakładki pamięci buforu JVM w narzędziu Grafana.

    Zrzut ekranu przedstawiający zakładkę JVM GC w narzędziu Grafana.

    Zrzut ekranu zakładki analizy pamięci JVM w Grafanie.

Możesz użyć tego pulpitu nawigacyjnego jako punktu wyjścia, aby utworzyć własne dostosowane wizualizacje metryk i rozwiązanie do monitorowania.

Czyszczenie zasobów

Zasoby utworzone w tym samouczku mają wpływ na Twój rachunek za platformę Azure. Jeśli nie zamierzasz korzystać z tych usług długoterminowych, uruchom następujące polecenie, aby usunąć wszystkie elementy utworzone w tym samouczku.

az group delete --resource-group $RESOURCE_GROUP