Rövid útmutató: Alkalmazások monitorozása végpontok között
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:❌ Basic/Standard ✔️ Enterprise
Ez a rövid útmutató bemutatja, hogyan monitorozza az Azure Spring Apps Enterprise-csomagot futtató alkalmazásokat az Application Elemzések és a Log Analytics használatával.
Feljegyzés
A Spring-számítási feladatok végponttól végpontig monitorozhatók bármilyen tetszőleges eszközzel és platformmal, beleértve az App Elemzések, a Log Analytics, a New Relic, a Dynatrace, az AppDynamics, az Elastic vagy a Splunk alkalmazást. További információt a jelen cikk későbbi, más monitorozási eszközökkel való használata című témakörben talál.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- A Nagyvállalati csomag Követelmények szakaszának megismerése és teljesítése az Azure Marketplace-en.
- Az Azure CLI 2.45.0-s vagy újabb verziója.
- Git.
- Az Azure Spring Apps Enterprise csomagbővítménye. A következő paranccsal távolítsa el a korábbi verziókat, és telepítse a legújabb Enterprise-csomagbővítményt. Ha korábban telepítette a
spring-cloud
bővítményt, távolítsa el a bővítményt a konfiguráció és a verzióeltérések elkerülése érdekében.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Figyelendő erőforrások, például az alábbi rövid útmutatókban létrehozott erőforrások:
Alkalmazások frissítése
Manuálisan kell megadnia az alkalmazás Elemzések kapcsolati sztring a Rendelési szolgáltatás (ASP.NET core) és a Cart Service (Python) alkalmazásoknak. Az alábbi utasítások bemutatják, hogyan biztosíthatja ezt a kapcsolati sztring, és hogyan növelheti a mintavételezési arányt az Alkalmazás Elemzések.
Feljegyzés
Jelenleg csak a Java- és NodeJS-alkalmazások buildcsomagjai támogatják az alkalmazás Elemzések rendszerezését.
Hozzon létre változókat az erőforrásnevek tárolásához az alábbi parancsokkal. Mindenképpen cserélje le a helyőrzőket a saját értékeire. Az Azure Spring Apps-szolgáltatáspéldány nevének 4 és 32 karakter közötti hosszúságúnak kell lennie, és csak kisbetűket, számokat és kötőjeleket tartalmazhat. A szolgáltatásnév első karakterének betűnek kell lennie, az utolsó karakternek pedig betűnek vagy számnak kell lennie.
export RESOURCE_GROUP="<resource-group-name>" export APP_INSIGHTS_NAME="<app-insights-name>" export KEY_VAULT_NAME="<key-vault-name>" export AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME="<Azure-Spring-Apps-service-instance-name>"
Feljegyzés
Alapértelmezés szerint a APP_INSIGHTS_NAME megegyezik a AZURE_SPRING_APPS_Standard kiadás RVICE_INSTANCE_NAME.
Az alkalmazás Elemzések kapcsolati sztring lekéréséhez és a Key Vaultban való beállításához használja az alábbi parancsokat:
export CONNECTION_STRING=$(az monitor app-insights component show \ --resource-group ${RESOURCE_GROUP} \ --app ${APP_INSIGHTS_NAME} \ --query "connectionString" \ --output tsv) az keyvault secret set \ --vault-name ${KEY_VAULT_NAME} \ --name "ApplicationInsights--ConnectionString" \ --value ${CONNECTION_STRING}
Az alábbi paranccsal frissítse az alkalmazás Elemzések kötés mintavételezési sebességét a rendelkezésre álló adatok mennyiségének növeléséhez:
az spring build-service builder buildpack-binding set \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --builder-name default \ --name default \ --type ApplicationInsights \ --properties sampling-rate=100 connection_string=${CONNECTION_STRING}
A konfiguráció újratöltéséhez használja az alábbi parancsokat az alkalmazások újraindításához:
az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name cart-service az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name order-service az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name catalog-service az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name frontend az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name payment-service
Ha az egyszeri bejelentkezést konfigurálta, az alábbi parancsokkal indítsa újra az alkalmazásokat az identity-service alkalmazás konfigurációjának újratöltéséhez:
az spring app restart \ --resource-group ${RESOURCE_GROUP} \ --service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \ --name identity-service
A Java- és NodeJS-alkalmazások esetében az újraindítás lehetővé teszi az új mintavételezési sebesség érvénybe lépését. A nem Java-alkalmazások esetében az újraindítás lehetővé teszi számukra, hogy hozzáférjenek az újonnan hozzáadott Instrumentation-kulcshoz a Key Vaultból.
Naplók megtekintése
Az Azure Spring Apps naplói kétféleképpen jeleníthetők meg: alkalmazáspéldányonkénti valós idejű naplók naplóstreamelése vagy a Log Analytics az összesített naplókhoz speciális lekérdezési képességgel
Naplóstreamelés használata
Forgalmat generálhat az alkalmazásban az alkalmazáson áthaladva, a katalógus megtekintésével és a megrendelések leadásával. A következő parancsokkal folyamatosan generálhat forgalmat, amíg le nem mondja:
export GATEWAY_URL=$(az spring gateway show \
--resource-group ${RESOURCE_GROUP} \
--service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
--query "properties.url" \
--output tsv)
export GATEWAY_URL=https://${GATEWAY_URL}
cd azure-spring-apps-enterprise/load-test/traffic-generator
./gradlew gatlingRun-com.vmware.acme.simulation.GuestSimulation.java
Az alábbi paranccsal lekérheti az alkalmazáskonzol-naplók legújabb 100 sorát a Catalog Service alkalmazásból:
az spring app logs \
--resource-group ${RESOURCE_GROUP} \
--name catalog-service \
--service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
--lines 100
A beállítás hozzáadásával --follow
valós idejű naplóstreamelést kaphat egy alkalmazásból. A katalógusszolgáltatás-alkalmazás naplóstreamelésének kipróbálásához használja az alábbi parancsot:
az spring app logs \
--resource-group ${RESOURCE_GROUP} \
--name catalog-service \
--service ${AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME} \
--follow
Tipp.
Az az spring-alkalmazásnaplókkal --help
további paramétereket és naplóstream-funkciókat vizsgálhat meg.
A Log Analytics használata
Lépjen az Azure Portalra, és nyissa meg a létrehozott Log Analytics-példányt. A Log Analytics-példány ugyanabban az erőforráscsoportban található, ahol létrehozta az Azure Spring Apps szolgáltatáspéldányt.
A Log Analytics lapon válassza a Naplók panelt, és futtassa a következő minta lekérdezéseket az Azure Spring Appshez.
Írja be és futtassa a következő Kusto-lekérdezést az alkalmazásnaplók megtekintéséhez:
AppPlatformLogsforSpring
| where TimeGenerated > ago(24h)
| limit 500
| sort by TimeGenerated
| project TimeGenerated, AppName, Log
Ez a lekérdezés az alábbi képernyőképen láthatóhoz hasonló eredményeket hoz létre:
Írja be és futtassa a következő Kusto-lekérdezést az alkalmazásnaplók megtekintéséhez catalog-service
:
AppPlatformLogsforSpring
| where AppName has "catalog-service"
| limit 500
| sort by TimeGenerated
| project TimeGenerated, AppName, Log
Ez a lekérdezés az alábbi képernyőképen láthatóhoz hasonló eredményeket hoz létre:
Írja be és futtassa a következő Kusto-lekérdezést az egyes alkalmazások által észlelt hibák és kivételek megtekintéséhez:
AppPlatformLogsforSpring
| where Log contains "error" or Log contains "exception"
| extend FullAppName = strcat(ServiceName, "/", AppName)
| summarize count_per_app = count() by FullAppName, ServiceName, AppName, _ResourceId
| sort by count_per_app desc
| render piechart
Ez a lekérdezés az alábbi képernyőképen láthatóhoz hasonló eredményeket hoz létre:
Írja be és futtassa a következő Kusto-lekérdezést az Azure Spring Appsbe irányuló bejövő hívások megtekintéséhez:
AppPlatformIngressLogs
| project TimeGenerated, RemoteAddr, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Írja be és futtassa a következő Kusto-lekérdezést az Azure Spring Apps által felügyelt felügyelt Spring Cloud Config Gateway összes naplójának megtekintéséhez:
AppPlatformSystemLogs
| where LogType contains "SpringCloudGateway"
| project TimeGenerated,Log
Ez a lekérdezés az alábbi képernyőképen láthatóhoz hasonló eredményeket hoz létre:
Írja be és futtassa a következő Kusto-lekérdezést az Azure Spring Apps által felügyelt spring cloud service registry összes naplójának megtekintéséhez:
AppPlatformSystemLogs
| where LogType contains "ServiceRegistry"
| project TimeGenerated, Log
Ez a lekérdezés az alábbi képernyőképen láthatóhoz hasonló eredményeket hoz létre:
Nyomkövetés használata
Az Azure Portalon nyissa meg az Azure Spring Apps által létrehozott Application Elemzések-példányt, és kezdje el figyelni a Spring Boot-alkalmazásokat. Az Alkalmazás Elemzések példány ugyanabban az erőforráscsoportban található, ahol létrehozott egy Azure Spring Apps-szolgáltatáspéldányt.
Lépjen az Alkalmazástérkép panelre, amely az alábbi képernyőképhez hasonló lesz:
Lépjen a Teljesítmény panelre, amely az alábbi képernyőképhez hasonló lesz:
Lépjen a Teljesítmény/Függőségek panelre. Itt láthatja a függőségek, különösen az SQL-hívások teljesítményszámát az alábbi képernyőképen láthatóhoz hasonlóan:
Lépjen a Teljesítmény/Szerepkörök panelre. Itt láthatja az egyes példányok vagy szerepkörök teljesítménymetrikáit az alábbi képernyőképen láthatóhoz hasonlóan:
Válasszon ki egy SQL-hívást a végpontok közötti tranzakció kontextusban való megtekintéséhez, hasonlóan az alábbi képernyőképen láthatóhoz:
Lépjen a Hibák/Kivételek panelre. Itt a következő képernyőképen láthatóhoz hasonló kivételgyűjtemény látható:
Metrikák megtekintése
Lépjen a Metrikák panelre. Itt láthatja a Spring Boot-alkalmazások, a Spring Cloud-modulok és a függőségek által hozzájárult metrikákat. Az alábbi képernyőképen látható diagramon http_server_requests és a felhasznált halommemória látható:
A Spring Boot számos alapvető metrikát regisztrál: JVM, CPU, Tomcat, Logback stb.
A Spring Boot automatikus konfigurációja lehetővé teszi a Spring MVC által kezelt kérések rendszerezését.
A REST-vezérlők ProductController
, és PaymentController
az osztály szintjén a @Timed
Micrometer-széljegyzetek segítségével lettek kialakítva.
Az acme-catalog
alkalmazás a következő egyéni metrikával rendelkezik: @Timedstore.products
Az acem-payment
alkalmazás a következő egyéni metrikával rendelkezik: @Timedstore.payment
Ezeket az egyéni metrikákat a Metrikák panelen tekintheti meg, ahogyan az alábbi képernyőképen látható.
Lépjen az Élő metrikák panelre. Itt élő metrikákat láthat a képernyőn alacsony késéssel < 1 másodperccel, ahogy az alábbi képernyőképen látható:
Más monitorozási eszközök használata
Az Azure Spring Apps Enterprise-csomag a metrikák más eszközökre való exportálását is támogatja, beleértve a következő eszközöket:
- AppDynamics
- ApacheSkyWalking
- Dynatrace
- ElasticAPM
- NewRelic
A Tanzu Build Service-ben további kötéseket adhat hozzá egy szerkesztőhöz az alábbi paranccsal:
az spring build-service builder buildpack-binding create \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--builder-name <builder-name> \
--name <binding-name> \
--type <ApplicationInsights|AppDynamics|ApacheSkyWalking|Dynatrace|ElasticAPM|NewRelic> \
--properties <connection-properties>
--secrets <secret-properties>
Az erőforrások eltávolítása
Ha további rövid útmutatókkal és oktatóanyagokkal szeretne dolgozni, érdemes lehet ezeket az erőforrásokat a helyén hagyni. Ha már nincs rá szükség, törölje az erőforráscsoportot, amely törli az erőforráscsoport erőforrásait. Ha törölni szeretné az erőforráscsoportot az Azure CLI használatával, használja a következő parancsokat:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Következő lépések
Folytassa az alábbi rövid útmutatók bármelyikével:
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: