Azure Spring Apps-alkalmazás konzolnaplóinak valós idejű streamelése
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk a következőre vonatkozik: ✔️ Java ✔️ C#
Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ✔️ Enterprise
Ez a cikk azt ismerteti, hogyan engedélyezheti a naplóstreamelést az Azure CLI-ben a valós idejű alkalmazáskonzol-naplók hibaelhárításhoz való lekéréséhez. Diagnosztikai beállítások használatával is elemezheti a diagnosztikai adatokat az Azure Spring Appsben. További információ: Naplók és metrikák elemzése diagnosztikai beállításokkal. A streamelési naplókról további információt az Azure Spring Apps-feladatnaplók valós idejű streamelése és az Azure Spring Apps által felügyelt összetevők naplóinak valós idejű streamelése című témakörben talál.
Előfeltételek
- Az Azure CLI az Azure Spring Apps 1.0.0-s vagy újabb verziójával. A bővítményt a következő paranccsal telepítheti:
az extension add --name spring
- Az Azure Spring Apps egy futó alkalmazással rendelkező példánya. További információ : Rövid útmutató: Az első alkalmazás üzembe helyezése az Azure Spring Appsben.
Az Azure CLI használata a faroknaplók létrehozásához
Ez a szakasz példákat mutat be arra, hogy az Azure CLI használatával hoz létre tail naplókat. Az erőforráscsoport és a szolgáltatáspéldány nevének ismételt megadásának elkerülése érdekében az alábbi parancsokkal állítsa be az alapértelmezett erőforráscsoport- és fürtnevet:
az config set defaults.group=<service-group-name>
az config set defaults.spring=<service-instance-name>
Az erőforráscsoport és a szolgáltatás neve nem szerepel a következő példákban.
Egyetlen példányt tartalmazó alkalmazás faroknaplójának megtekintése
Ha egy elnevezett auth-service
alkalmazásnak csak egy példánya van, az alkalmazáspéldány naplóját a következő paranccsal tekintheti meg:
az spring app logs --name <application-name>
A parancs az alábbi példákhoz hasonló naplókat ad vissza, ahol auth-service
az alkalmazás neve szerepel.
...
2020-01-15 01:54:40.481 INFO [auth-service,,,] 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-01-15 01:54:40.482 INFO [auth-service,,,] 1 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.22]
2020-01-15 01:54:40.760 INFO [auth-service,,,] 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/uaa] : Initializing Spring embedded WebApplicationContext
2020-01-15 01:54:40.760 INFO [auth-service,,,] 1 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 7203 ms
...
Több példányt tartalmazó alkalmazás faroknaplójának megtekintése
Ha a nevesített auth-service
alkalmazáshoz több példány is létezik, a beállítással megtekintheti a példánynaplót -i/--instance
.
Először futtassa a következő parancsot az alkalmazáspéldányok nevének lekéréséhez:
az spring app show --name auth-service --query properties.activeDeployment.properties.instances --output table
A parancs az alábbi kimenethez hasonló eredményeket hoz létre:
Name Status DiscoveryStatus
------------------------------------------- -------- -----------------
auth-service-default-12-75cc4577fc-pw7hb Running UP
auth-service-default-12-75cc4577fc-8nt4m Running UP
auth-service-default-12-75cc4577fc-n25mh Running UP
Ezután az alábbi módon streamelheti egy alkalmazáspéldány -i/--instance
naplóit:
az spring app logs --name auth-service --instance auth-service-default-12-75cc4577fc-pw7hb
Az alkalmazáspéldányok részleteit az Azure Portalon is lekérheti. Miután az Azure Spring Apps szolgáltatás bal oldali navigációs paneljén az Alkalmazások lehetőséget választja, válassza az Alkalmazáspéldányok lehetőséget.
Új naplók folyamatos streamelése
Alapértelmezés szerint csak az alkalmazáskonzolra streamelt meglévő naplókat nyomtatja ki, az spring app logs
majd kilép. Ha új naplókat szeretne streamelni, adja hozzá az -f/--follow
argumentumot az alábbi példában látható módon:
az spring app logs --name auth-service --follow
Amikor az argumentumot az --follow
azonnali naplók nyomon követésére használja, az Azure Spring Apps-naplóstreamelési szolgáltatás percenként szívverési naplókat küld az ügyfélnek, kivéve, ha az alkalmazás folyamatosan naplókat ír. A szívverési naplóüzenetek a következő formátumot használják: 2020-01-15 04:27:13.473: No log from server
.
Az alábbi paranccsal ellenőrizze a támogatott naplózási beállításokat:
az spring app logs --help
Strukturált JSON-naplók formázása
Feljegyzés
A JSON strukturált naplóinak formázásához a spring extension 2.4.0-s vagy újabb verziója szükséges.
A strukturált alkalmazásnaplók JSON formátumban jelennek meg, ami nehezen olvasható. Az argumentummal --format-json
JSON formátumban formázhatja a naplókat olvashatóbb formátumba. További információ: Strukturált alkalmazásnapló az Azure Spring Appshez.
Az alábbi példa az argumentum használatát --format-json
mutatja be:
# Raw JSON log
$ az spring app logs --name auth-service
{"timestamp":"2021-05-26T03:35:27.533Z","logger":"com.netflix.discovery.DiscoveryClient","level":"INFO","thread":"main","mdc":{},"message":"Disable delta property : false"}
{"timestamp":"2021-05-26T03:35:27.533Z","logger":"com.netflix.discovery.DiscoveryClient","level":"INFO","thread":"main","mdc":{},"message":"Single vip registry refresh property : null"}
# Formatted JSON log
$ az spring app logs --name auth-service --format-json
2021-05-26T03:35:27.533Z INFO [ main] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2021-05-26T03:35:27.533Z INFO [ main] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
Az --format-json
argumentum a formátumsztring szintaxisát használó, opcionálisan testre szabott formátumot is elfogad. További információ: Sztringszintaxis formázása.
Az alábbi példa bemutatja, hogyan használható a formázási sztring szintaxisa:
# Custom format
$ az spring app logs --name auth-service --format-json="{message}{n}"
Disable delta property : false
Single vip registry refresh property : null
Az alapértelmezett formátum a következő:
{timestamp} {level:>5} [{thread:>15.15}] {logger{39}:<40.40}: {message}{n}{stackTrace}
Azure Spring Apps-alkalmazásnapló streamelése virtuális hálózati injektálási példányban
Az egyéni virtuális hálózaton üzembe helyezett Azure Spring Apps-példányok esetében alapértelmezés szerint hozzáférhet a naplóstreameléshez egy magánhálózatról. További információ: Azure Spring Apps üzembe helyezése virtuális hálózaton
Az Azure Spring Apps lehetővé teszi a valós idejű alkalmazásnaplók elérését egy nyilvános hálózatról az Azure Portal vagy az Azure CLI használatával.
Feljegyzés
Ha engedélyezi a naplóstreamelési végpontot a nyilvános hálózaton, nyilvános bejövő IP-címet ad hozzá a virtuális hálózathoz. Ügyeljen arra, hogy körültekintően járjon el, ha ez aggodalomra ad okot.
A naplóstreamelési végpont nyilvános hálózaton való engedélyezéséhez kövesse az alábbi lépéseket:
Válassza ki a virtuális hálózaton üzembe helyezett Azure Spring Apps szolgáltatáspéldányt, majd a navigációs menü Hálózatkezelés elemét.
Válassza a Vnet injektálási lapfülét.
Állítsa át a dataplane-erőforrások állapotát a nyilvános hálózaton , hogy engedélyezve legyen a naplóstreamelési végpont a nyilvános hálózaton. Ez a folyamat néhány percet vesz igénybe.
A naplóstream nyilvános végpontjának engedélyezése után az alkalmazásnaplót egy nyilvános hálózatról is elérheti, ugyanúgy, mint egy normál példányt.
A naplóstreamelési nyilvános végpont felé történő forgalom védelme
A naplóstreamelés ugyanazt a kulcsot használja, mint az Előkészítési környezet beállítása az Azure Spring Appsben című cikkben leírt tesztvégponttal az üzemelő példányok kapcsolatainak hitelesítéséhez. Ennek eredményeképpen csak azok a felhasználók férhetnek hozzá a naplóstreameléshez, akik olvasási hozzáféréssel rendelkeznek a tesztkulcsokhoz.
Az alkalmazások biztonságának biztosítása érdekében, amikor nyilvános végpontot tesz elérhetővé számukra, biztonságossá teheti a végpontot a szolgáltatás felé irányuló hálózati forgalom hálózati biztonsági csoporttal való szűrésével. További információ : Oktatóanyag: Hálózati forgalom szűrése hálózati biztonsági csoporttal az Azure Portal használatával. A hálózati biztonsági csoportok olyan biztonsági szabályokat tartalmaznak, amelyek engedélyezik vagy letiltják a különböző típusú Azure-erőforrások bejövő vagy kimenő hálózati forgalmát. Az egyes szabályokhoz meghatározhatja a forrást és a célt, valamint a használni kívánt portot és protokollt.
Feljegyzés
Ha a naplóstream nyilvános végpont engedélyezése után nem fér hozzá az alkalmazásnaplókhoz a virtuális hálózati injektálási példányban, ellenőrizze a hálózati biztonsági csoportot, hogy engedélyezte-e az ilyen bejövő forgalmat.
Az alábbi táblázat egy olyan alapvető szabályt mutat be, amelyet ajánlott. A végponthoz <service-name>.private.azuremicroservices.io
hasonló nslookup
parancsokkal lekérheti a szolgáltatás cél IP-címét.
Prioritás | Név | Kikötő | Protokoll | Forrás | Cél | Művelet |
---|---|---|---|---|---|---|
100 | Szabály neve | 80 | TCP | Internet | Szolgáltatás IP-címe | Engedélyezés |
110 | Szabály neve | 443 | TCP | Internet | Szolgáltatás IP-címe | Engedélyezés |
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: