Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak začít používat diagnostického agenta Java. Popisuje také Nástroj pro diagnostiku Javy v modulu plug-in AKS pro IntelliJ IDEA.
Diagnostický agent Java je agent Javy pro řešení potíží s procesem Javy. Není potřeba znovu sestavit, znovu nasadit ani restartovat aplikaci. V současné době podporuje přidávání protokolů kolem funkce ve třídě Java. Při zavolání funkce se protokol vytiskne spolu s výpočtem celkové doby spotřebované funkcí.
Požadavky
diag4j je nainstalované ve vašem clusteru.
Java LTS verze 11, 17 nebo 21.
Plugin IntelliJ IDEA , nainstalovaný místně prostřednictvím Nastavení >Pluginy>Instalovat plugin z disku.
Aplikace v Javě pro řešení potíží Další informace najdete v tématu Nasazení aplikace Spring Boot do služby Azure Kubernetes Service.
Nastavit přesměrování portů
Pomocí následujícího příkazu nastavte přesměrování portů do služby agenta:
kubectl port-forward svc/diag4j-agent-service -n <namespace> <port>:8080
Použití diagnostického nástroje Java na modulu plug-in AKS pro IntelliJ IDEA
Pomocí nástroje pro diagnostiku Java na modulu plug-in AKS připojte agenta diagnostiky Java k aplikaci Java spuštěné v kontejneru podů v clusteru Azure Kubernetes Service (AKS).
Po připojení agenta můžete řešit potíže přidáním protokolů kolem funkce třídy. Tento záznam použijte k otestování, zda se funkce spustí, a k výpočtu celkové doby strávené v této funkci. Tato analýza vám může pomoct najít kritické body výkonu ve vaší aplikaci.
Na kartě Diagnostika se zobrazuje konfigurace modulu plug-in. Tady můžete:
- Nakonfigurujte místní port, který přesměrovává na službu agenta.
- Prohlédněte si pody označené jako
kubeconfigve vašem lokálním prostředí. - Zvolte Obnovit pro aktualizaci tabulky podů. Po přepnutí clusteru aktualizujte tabulku, aby se načetly pody z nového clusteru.
Připojte agenta
Kontejner podů musí mít složku /tmp a musí mít oprávnění k zápisu do složky /tmp .
Pokud chcete povolit připojení agenta v prostředí JVM, nepřidávejte -XX:+DisableAttachMechanism do možností JVM.
Back-endový diagnostický server se po 6 hodinách zavře.
Pokud chcete agenta připojit, vyberte pod, ke kterého chcete agenta připojit, a pak vyberte kontejner. Agenta můžete připojit pouze k jednomu kontejneru v podu. Pak počkejte na dokončení procesu připojování.
Nastavení aktivního kontejneru podů
Po úspěšném připojení agenta ho použijte k řešení potíží.
Do agenta se možná vložil více podů, takže musíte nastavit aktivní pod. V IntelliJ IDEA na kartě Diagnostic klikněte pravým tlačítkem na pod a potom vyberte Vybrat jako aktivní.
Přidání protokolování kolem funkce třídy
Nakonfigurovaný protokol se po 30 minutách automaticky odebere.
Nástroj můžete použít k přidání protokolování kolem funkcí třídy, ale ne rozhraní, konstruktorů atd.
Pokud chcete do funkce přidat protokolování, klikněte na ni v editoru pravým tlačítkem myši a pak vyberte Java Diagnostic>Add AroundLog, jak je znázorněno na následujícím snímku obrazovky.
V tomto příkladu, po přidání protokolování, můžete volat <host>/infor, abyste zobrazili výstup podobný následujícímu příkladu před a po zavolání funkce:
===== START ===== Method: updateInformation Start Time: 2024-12-12T07:37:55.404107848Z
Done with the validation
Done with the DB access
Done with the data filtering
===== END ===== Method: updateInformation End Time: 2024-12-12T07:37:55.404316940Z Total Time: 0 milliseconds
Odstraňte všechny nakonfigurované protokoly
Chcete-li odstranit všechny logy, které agent přidává, vyberte Odebrat všechny AroundLogs.
Poznámka
Dočasný kontejner v podu používá back-endový Java agent. Po restartování podu se agent odebere.
Řešení problémů
K vypršení časového limitu může dojít, když se pokusíte připojit agenta k podu spuštěném na uzlu, který pro tuto funkci ještě není povolený. K vypršení časového limitu dochází, protože uzel nejprve potřebuje načíst image agenta, což způsobuje zpoždění. Pokud dojde k tomuto zpoždění, vyberte Aktualizovat a zkontrolujte, jestli je agent připojený, nebo zkuste agenta připojit znovu.
Pokud se příloha nezdaří, zkontrolujte protokol pojmenovaný diagnostic-container-<hashcode> v dočasném kontejneru.
Informace o operacích modulu plug-in najdete v protokolech v kontejneru podů s názvem diag4j-agent-service-<hashcode>.
Další krok
Začínáme s komponentou Spring Boot Admin diagnostického nástroje Java (diag4j) v AKS