Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a Java diagnosztikai ügynök használatának első lépéseit ismerteti. Emellett az IntelliJ IDEA AKS-beépülő moduljának Java Diagnosztikai eszközét is ismerteti.
A Java diagnosztikai ügynök Egy Java-folyamat hibaelhárítására szolgáló Java-ügynök. Nem kell újraépítenie, újra üzembe helyeznie vagy újraindítania egy alkalmazást. Jelenleg támogatja a naplók hozzáadását egy Java-osztály egy függvénye köré. A függvény meghívásakor a rendszer kinyomtatja a naplót a függvény által felhasznált teljes idő kiszámításával együtt.
Előfeltételek
diag4j telepítve van a fürtben.
Java LTS 11-es, 17-es vagy 21-es verziója.
Az IntelliJ IDEA beépülő modula Beállítások>Beépülő modulok>Beépülő modul telepítése lemezrőlmenüpontban helyileg van telepítve.
Java-alkalmazások hibaelhárításához. További információ: Spring Boot-alkalmazás üzembe helyezése az Azure Kubernetes Service.
Porttovábbítás létrehozása
Az alábbi paranccsal hozzon létre porttovábbítást az ügynökszolgáltatáshoz:
kubectl port-forward svc/diag4j-agent-service -n <namespace> <port>:8080
A Java Diagnosztikai eszköz használata az IntelliJ IDEA AKS beépülő modulján
Az AKS bővítmény Java Diagnosztikai Eszközét használhatja a Java Diagnosztikai Ügynök csatlakoztatására egy Azure Kubernetes Service-fürt podjában futó Java-alkalmazáshoz.
Az ügynök csatolása után hibaelhárítási feladatokat hajthat végre, például naplókat adhat hozzá egy osztályfüggvényhez. Ezzel a naplóval tesztelheti, hogy a függvény végrehajtásra kerül-e, és kiszámítja a függvényben töltött teljes időt. Ez az elemzés segíthet megtalálni a teljesítmény szűk keresztmetszeteit az alkalmazásban.
A beépülő modul konfigurációja megjelenik a Diagnosztikai lapon. Itt a következő feladatokat végezheti el:
- Állítsa be a helyi portot, amely az ügyfélszolgáltatáshoz továbbít.
- Tekintse meg a
kubeconfig-ként felsorolt podokat a helyi környezetben. - Válassza a Frissítés lehetőséget a podtábla frissítéséhez. A fürtök váltása után frissítenie kell a táblát, hogy betöltse a podokat az új fürtbe.
Az ügynök csatolása
A podtárolónak rendelkeznie kell egy /tmp mappával, és írási engedéllyel kell rendelkeznie a /tmp mappához.
Az ügynök csatolásának engedélyezéséhez a JVM-ben, győződjön meg arról, hogy nem adja hozzá a -XX:+DisableAttachMechanism-t a JVM-beállításokhoz.
A háttérdiagnosztikai kiszolgáló 6 óra elteltével bezárul.
Az ügynök csatolásához kattintson arra a podra, amelyhez csatolni szeretné az ügynököt, majd válassza ki a tárolót. Az ügynököt csak egy tárolóhoz csatolhatja a podban. Ezután várja meg, amíg a csatolás befejeződik.
Az aktív podtároló beállítása
Miután sikeresen csatlakoztatta az ügynököt, hibaelhárításra használhatja.
Több pod telepíthette az ügynököt, ezért ki kell jelölnie egy aktív podot. Az IntelliJ IDEA-ban a Diagnosztikai lapon kattintson a jobb gombbal egy podra, majd válassza a Aktívként kijelöléslehetőséget.
Naplózás hozzáadása egy osztályfüggvényhez
A konfigurált napló 30 perc elteltével automatikusan törlődik.
Az eszközzel naplózhatja az osztályfüggvényeket, de nem az interfészeket, konstruktorokat stb.
Ha naplózást szeretne hozzáadni egy függvényhez, kattintson rá a jobb gombbal a szerkesztőben, majd válassza Java Diagnostic>AroundLoghozzáadása lehetőséget, ahogyan az alábbi képernyőképen látható.
Ebben a példában a naplózás hozzáadása után meghívhatja <host>/infor, hogy a függvény meghívása előtt és után az alábbi példához hasonló kimenet jelenik meg:
===== 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
Az összes konfigurált napló eltávolítása
Az ügynök által hozzáadott összes napló eltávolításához válassza a Minden körnapló eltávolításalehetőséget.
Jegyzet
A háttérbeli Java-ügynököt egy rövid élettartamú tároló használja a podban. A pod újraindítása után az ügynök el lesz távolítva.
Hibaelhárítás
Időtúllépés akkor fordulhat elő, ha megpróbálja csatolni az ügynököt egy olyan csomóponton futó podhoz, ahol a funkció még nincs engedélyezve. Az időtúllépés azért fordulhat elő, mert a csomópontnak először le kell kérnie az ügynök lemezképét, ez pedig késést okoz. Ha ez történik, a Frissítés lehetőséget választva ellenőrizheti, hogy az ügynök csatlakoztatva van-e, vagy megpróbálkozhat az ügynök ismételt csatlakoztatásával.
Ha a melléklet meghiúsul, ellenőrizheti a diagnostic-container-<hashcode> nevű naplót az átmeneti tárolóban.
A beépülő modul működésével kapcsolatos információkat a diag4j-agent-service-<hashcode>nevű podtároló naplóiban találja.
Következő lépés
Ismerkedés a Java diagnosztikai eszköz (diag4j) Spring Boot Adminisztrációs összetevőjével az AKS-en