자습서: Azure Managed Grafana를 사용하여 Java 메트릭 대시보드 빌드
이 자습서에서는 Azure Managed Grafana를 사용하여 메트릭 대시보드를 설정하여 Azure Container Apps에서 실행되는 Java 애플리케이션을 모니터링하는 방법을 알아봅니다.
Grafana는 관찰성 산업에서 중앙 집중식 메트릭 시각화 및 모니터링을 위한 인기 있는 도구입니다. Azure Managed Grafana는 완벽한 Azure 통합을 통해 Grafana 대시보드를 배포하고 관리할 수 있는 완전 관리형 Azure 서비스입니다. Azure Managed Grafana를 사용하여 Azure Container Apps에서 노출하는 Java 메트릭을 시각화하거나 Java 메트릭을 기존 Grafana 대시보드에 통합할 수 있습니다.
이 자습서에서는 다음을 수행합니다.
- Azure Managed Grafana 인스턴스를 만듭니다.
- Grafana에서 Java 메트릭 대시보드를 만듭니다.
- Grafana를 사용하여 Azure Container Apps에 대한 Java 메트릭을 시각화합니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 아직 없는 경우 무료로 만들 수 있습니다.
- Azure CLI
- Azure Container Apps에 배포된 Java 애플리케이션입니다.
환경 설정
다음 단계를 사용하여 환경 변수를 정의하고 Azure Managed Grafana 확장이 최신 상태인지 확인합니다.
Grafana 구성을 지원하는 변수를 만듭니다.
export LOCATION=eastus export SUBSCRIPTION_ID={subscription-id} export RESOURCE_GROUP=grafana-resource-group export GRAFANA_INSTANCE_NAME=grafana-name
변수 설명 LOCATION
Azure Managed Grafana 인스턴스를 만드는 Azure 지역 위치입니다. SUBSCRIPTION_ID
Azure Container Apps 및 Azure Managed Grafana 인스턴스를 만드는 데 사용하는 구독 ID입니다. RESOURCE_GROUP
Azure Managed Grafana 인스턴스의 Azure 리소스 그룹 이름입니다. GRAFANA_INSTANCE_NAME
Azure Managed Grafana 인스턴스의 인스턴스 이름입니다. Azure CLI를 사용하여 Azure에 로그인합니다.
az login
리소스 그룹을 만듭니다.
az group create --name $RESOURCE_GROUP --location $LOCATION
다음 명령을 사용하여 Azure Managed Grafana용 Azure CLI 확장의 최신 버전이 있는지 확인합니다.
az extension add --name amg --upgrade
Azure Managed Grafana 인스턴스 설정
먼저 Azure Managed Grafana 인스턴스를 만들고 필요한 역할 할당을 부여합니다.
Azure Managed Grafana 인스턴스를 만듭니다.
az grafana create \ --name $GRAFANA_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Azure Managed Grafana 인스턴스 "모니터링 판독기" 역할을 부여하여 Azure Monitor에서 메트릭을 읽습니다. 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
Java 메트릭 대시보드 만들기
Important
Grafana에서 새 대시보드를 추가하려면 Azure Managed Grafana 역할을 사용 Grafana Admin
하거나 Grafana Editor
역할을 지정해야 합니다.
Grafana Admin
Azure Managed Grafana 리소스의 계정에 역할을 할당합니다.Azure Managed Grafana 인스턴스의 리소스 ID를 가져옵니다.
GRAFANA_RESOURCE_ID=$(az grafana show --resource-group $RESOURCE_GROUP --name $GRAFANA_INSTANCE_NAME --query id --output tsv)
이 명령을 실행하기 전에 자리 표시자를 사용자 또는 서비스 주체 ID로 바꿉
<USER_OR_SERVICE_PRINCIPAL_ID>
니다.az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Grafana Admin" \ --scope $GRAFANA_RESOURCE_ID
Azure Container Apps json 파일에 대한 샘플 Java 메트릭 대시보드를 다운로드합니다.
Azure Managed Grafana 리소스의 엔드포인트를 가져옵니다.
az grafana show --resource-group $RESOURCE_GROUP \ --name $GRAFANA_INSTANCE_NAME \ --query "properties.endpoint" \ --output tsv
이 명령은 Azure Managed Grafana 대시보드에 액세스하는 데 사용할 수 있는 URL을 반환합니다. URL 및 로그인을 사용하여 브라우저를 엽니다.
->
Import
로Dashboard
>New
이동합니다. 위의 샘플 대시보드 JSON 파일을 업로드하고 기본 제공Azure Monitor
데이터 원본을 선택한 다음 단추를 클릭합니다Import
.
Grafana를 사용하여 Azure Container Apps에 대한 Java 메트릭 시각화
Azure Container Apps에 대한 필터에 리소스 정보를 입력합니다. 이제 대시보드 내의 Azure Container Apps 에서 지원되는 모든 Java 메트릭을 볼 수 있습니다. 샘플 대시보드는 라이브 메트릭 데이터를 제공합니다.
- 컨테이너 앱 개요
- JVM 메모리 사용량
- JVM 메모리 버퍼
- JVM GC JVM GC
- 자세한 JVM 메모리 사용량 분석
이 대시보드를 시작점으로 사용하여 사용자 지정 메트릭 시각화 및 모니터링 솔루션을 만들 수 있습니다.
리소스 정리
이 자습서에서 만든 리소스는 Azure 청구서에 영향을 줍니다. 이러한 서비스를 장기간 사용하지 않을 예정이면 다음 명령을 실행하여 이 자습서에서 만든 모든 항목을 제거합니다.
az group delete --resource-group $RESOURCE_GROUP