Средство диагностики Java (diag4j) в службе Azure Kubernetes (AKS)
В этой статье представлен обзор средства диагностики Java (diag4j) в службе Azure Kubernetes (AKS). Средство diag4j — это упрощенное, не навязчивое решение для мониторинга и диагностики приложений Java, работающих в службе Azure Kubernetes.
Ключевые преимущества
Средство diag4j обеспечивает следующие ключевые преимущества:
- Лёгкий и неинвазивный: благодаря использованию администратора Spring Boot (SBA) и Java Attach Agent, средство эффективно в использовании ресурсов и не требует глубоких изменений в приложениях.
- Автоматическая интеграция Kubernetes: средство автоматически обнаруживает pods с открытыми конечными точками актюатора и перечисляет их на панели мониторинга SBA.
- Метрики и диагностика в режиме реального времени: средство отображает метрики приложения в режиме реального времени, состояние сборки мусора (GC) и переменные среды. Вы также можете динамически настраивать уровни журналов для более глубокого анализа конкретных проблем.
- Расширенная диагностика: средство предлагает расширенные диагностические функции, такие как проверка трассировки стека, просмотр локальных переменных, создание дампов куч и потоков и динамическое внедрение журналов для устранения неполадок.
- Совместимость интегрированной среды разработки: средство интегрируется с idEs, чтобы включить отладку без необходимости перестроить или повторно развернуть приложение, что позволяет упростить устранение неполадок.
Архитектура
Средство diag4j состоит из следующих компонентов:
- Сервер администрирования Spring Boot, который имеет роль только для чтения в пространстве имен, чтобы автоматически обнаруживать и отслеживать модули pod, предоставляющие конечные точки актатора.
- Агент подключения Java — это облегченный агент Java, подключающийся к работающим процессам Java и предоставляющий возможности диагностики без перезапуска приложения.
Для поддержания безопасности во время текущей вехи эти компоненты не предоставляются публично. Вы можете получить доступ к средству с помощью команды kubectl port-forward
.