Azure Kubernetes Service で Java 診断ツール (diag4j) の Spring Boot Admin コンポーネントの使用を開始する方法
この記事では、Azure Kubernetes Service (AKS) 上の Java 診断ツール (diag4j) の Spring Boot Admin コンポーネントをセットアップして使用を開始する手順について説明します。 これらの手順に従うことで、Java アプリケーションを効率的に監視および診断できます。
前提 条件
- 必要なアクセス許可を持つ実行中の AKS クラスター。
- kubectl インストールされ、AKS クラスターにアクセスするように構成されています。
- ローカル コンピューターにインストールされている Helm。
- AKS にデプロイされた Java アプリケーション。 詳細については、「Spring Boot アプリケーションを Azure Kubernetes Serviceにデプロイする」を参照してください。 このツールは、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 Admin コンポーネントを作成する
次のコマンドを使用して、Spring Boot Admin (SBA) コンポーネントを作成します。
カスタム リソース (CR) を適用して Spring Boot Admin コンポーネントを作成します。 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) のステータス
- アクティブなスレッドと環境変数
ログ レベルを調整するには、Logger セクションに移動します。 その後、問題を特定するために、特定のパッケージまたはクラスのログ レベルを動的に変更できます。
高度な診断を実行するには、詳細な分析のためにヒープ ダンプとスレッド ダンプを生成します。