Azure Kubernetes Service에서 Java 진단 도구(diag4j)의 Spring Boot Admin 구성 요소를 시작하십시오.
이 문서에서는 AKS(Azure Kubernetes Service)에서 Java 진단 도구(diag4j)의 Spring Boot Admin 구성 요소를 설정하고 사용하기 위한 단계별 지침을 제공합니다. 이러한 단계를 수행하면 Java 애플리케이션을 효율적으로 모니터링하고 진단할 수 있습니다.
필수 구성 요소
- 필요한 권한이 있는 실행 중인 AKS 클러스터입니다.
- kubectl 설치되고 AKS 클러스터에 액세스하도록 구성됩니다.
- Helm 로컬 컴퓨터에 설치되어 있습니다.
- AKS에 배포된 Java 애플리케이션. 자세한 내용은 Azure Kubernetes ServiceSpring Boot 애플리케이션 배포를 참조하세요. 이 도구는 Spring Boot 액추에이터 엔드포인트를 사용하도록 설정할 때 더 잘 작동합니다.
- diag4j를 호스팅하는 네임스페이스에 대한 개발자 액세스
kubectl port-forward
실행할 수 있는지 확인합니다.
클러스터에 diag4j 설치
다음 명령을 사용하여 원하는 네임스페이스에 diag4j를 설치합니다.
helm install my-diag4j oci://diag4j.azurecr.io/helm/diag4j --version 1.1.5 -n <namespace> --create-namespace
Spring Boot 관리자 구성 요소 만들기
다음 명령을 사용하여 SBA(Spring Boot Admin) 구성 요소를 만듭니다.
CR(사용자 지정 리소스)을 적용하여 Spring Boot 관리자 구성 요소를 만듭니다. spring-boot-admin.yaml 파일을 만든 다음, 다음 내용을 추가합니다.
<namespace>
Spring Boot 앱이 실행 중인 네임스페이스로 바꿉니다. SBA는 액추에이터 엔드포인트가 노출되는 앱을 자동으로 검색합니다. 기타 항목들은 대시보드에DOWN
상태로 표시됩니다.apiVersion: diagtool4j.microsoft.com/v1alpha1 kind: Component metadata: name: spring-boot-admin namespace: <namespace> spec: type: SpringBootAdmin
다음 명령을 사용하여 CR을 적용합니다.
kubectl apply -f spring-boot-admin.yaml
diag4j 대시보드 액세스
다음 단계를 사용하여 대시보드에 액세스합니다.
다음 명령을 사용하여 SBA 서버로 로컬 포트 전달을 구성합니다.
kubectl port-forward svc/spring-boot-admin-azure-java -n <namespace> 8080:8080
브라우저에서
http://localhost:8080
로 이동하여 SBA 대시보드를 확인할 수 있습니다. 동일한 네임스페이스의 모든 애플리케이션은 자동으로 등록되어야 합니다.
진단 기능 사용
애플리케이션 메트릭을 보려면 SBA 대시보드에서 애플리케이션을 클릭합니다. 다음 메트릭을 포함하여 실시간 메트릭을 볼 수 있습니다.
- CPU & 메모리 사용량
- GC(가비지 수집) 상태
- 활성 스레드 및 환경 변수
로그 수준을 조정하려면 로거 섹션으로 이동합니다. 그런 다음 특정 패키지 또는 클래스에 대한 로그 수준을 동적으로 수정하여 문제를 격리할 수 있습니다.
고급 진단을 수행하려면 심층 분석을 위해 힙 덤프 및 스레드 덤프를 생성합니다.