Share via


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.

Az Azure Spring Apps felügyelt összetevőinek streamelési naplóiért tekintse meg az Azure Spring Apps által felügyelt összetevők naplóinak valós idejű streamelése című témakört.

Előfeltételek

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-servicealkalmazá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:

  1. 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.

  2. Válassza a Vnet injektálási lapfülét.

  3. Á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.

    Screenshot of the Azure portal that shows the Networking page with the Vnet injection tab selected and the Troubleshooting section highlighted.

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élyezve
110 Szabály neve 443 TCP Internet Szolgáltatás IP-címe Engedélyezve

Következő lépések