この記事では、Azure Kubernetes Service (AKS) 上の Java 診断ツール (diag4j) の概要について説明します。 diag4j ツールは、Azure Kubernetes Service で実行されている Java アプリケーション向けの軽量で非侵入型の監視および診断ソリューションです。
主な利点
diag4j ツールには、次の主な利点があります。
- 軽量で非侵入性: Spring Boot Admin (SBA) と Java Attach Agent を利用することで、このツールはリソース効率が高く、アプリケーションに深い変更を加える必要はありません。
- Kubernetes の自動統合: このツールは、公開されているアクチュエータ エンドポイントを持つポッドを自動検出し、SBA ダッシュボードに一覧表示します。
- リアルタイムのメトリックと診断: このツールには、リアルタイムのアプリケーション メトリック、ガベージ コレクション (GC) の状態、環境変数が表示されます。 また、ログ レベルを動的に調整して、特定の問題に対するより深い分析情報を得ることもできます。
- 高度な診断: このツールは、スタック トレース検査、ローカル変数の表示、ヒープとスレッド ダンプの生成、トラブルシューティングのためにログを動的に挿入するなど、強化された診断機能を提供します。
- IDE の互換性: このツールは IDE と統合され、アプリケーションのリビルドや再デプロイを必要とせずにデバッグを有効にし、効率的なトラブルシューティングを可能にします。
建築
diag4j ツールは、次のコンポーネントで構成されます。
- Spring Boot Admin サーバー。このサーバーには、アクチュエータ エンドポイントを公開しているポッドを自動的に検出して監視するための読み取り専用ロールが名前空間内にあります。
- Java Attach Agent は、実行中の Java プロセスにアタッチする軽量の Java エージェントであり、アプリケーションを再起動せずに診断機能を有効にします。
現在のマイルストーン中にセキュリティを維持するために、これらのコンポーネントは公開されません。 ツールには、kubectl port-forward
コマンドを使用してアクセスできます。