Dela via


Övervaka åtgärder för Azure Spring Apps-acceleratorn för landningszoner

Den här artikeln innehåller överväganden och rekommendationer för observerbarhet för ditt Spring Boot-program som distribueras i Azure Spring Apps.

Organisationen kan tillhandahålla centraliserad övervakning som delas av alla arbetsbelastningar eller tillhandahålla dedikerade Azure Monitor Log Analytics-arbetsytor per arbetsbelastning. Om du är beroende av de centraliserade resurserna kontrollerar du att programteamets medlemmar har åtkomst till loggarna med rollbaserad åtkomstkontroll (RBAC) i Azure.

Information om plattformsdesignen finns i Arbetsbelastningshantering och övervakning.

Du kan etablera dina egna övervakningsresurser. Den här metoden ger programteamet större självständighet och förenklar den övergripande hanteringen av ditt program. Kompromissen kan vara ökade hanteringskostnader. Azure Spring Apps landningszonaccelerator och följande vägledning baseras på den här metoden.

Designöverväganden

  • Loggar och mått. Samla in loggar och mått som genereras från programmet och resurserna. Loggar ger insikter om arbetsbelastningens åtgärder. Mått samlas in med jämna mellanrum och ger insikter i nära realtid. Loggar och mått kan hjälpa dig med undersökningar som är relaterade till hälsotillstånd och användning av resurser.

    Mått är nyckeln till skalningsbeslut. Du kan tillåta att appar skalas baserat på tröskelvärden för mått, eller så kan appar skalas under en viss tidsperiod.

    Du bör överväga att lagra dessa data för framtida analys. Behåll möjligheten att visualisera data så att du snabbt kan upptäcka trender.

  • Instrumentation. Sätt instrumentation på plats för att generera mer observerbarhetsdata från programmet. Om du vill samla in instrumenteringsinformation använder du ett APM-verktyg (Application Performance Management), till exempel Azure Application Insights Java-agent. Kombinera plattformsdiagnostik med den här informationen för att ge förbättrade övervakningsfunktioner.

  • Distribuerad spårning. Implementera distribuerad spårning för att få observerbarhet för olika tjänster i ditt Azure Spring Apps-ekosystem.

  • Aviseringar. Programteamen måste meddelas om händelser som är viktiga för arbetsbelastningen. Du kan ställa in aviseringar som övervakar resurser baserat på mått, till exempel lagring, begärandefrekvens och dataanvändning.

  • Hälsoavsökningar. Du kan konfigurera hälsoavsökningar för att identifiera hälsotillståndet för serverdelstjänsterna. Granska hur hälsoavsökningarna konfigureras så att begäranden dirigeras till felfria instanser och se till att programmet avslutas korrekt om serverdelstjänsterna inte är tillgängliga.

Designrekommendationer

  • Använd Azure Monitor-mått för att samla in mått som genereras från övervakade resurser till en tidsseriedatabas.

    För Azure Spring Apps visar du diagrammen på varje programöversiktssida och på sidan med vanliga mått.

  • Använd sidan diagnostikinställningar i Azure Spring Apps för att konfigurera önskad kombination av diagnostikinställningar för dina appar.

    Anteckning

    Det finns en fördröjning för att loggar ska visas i ditt lagringskonto, din händelsehubb eller Log Analytics. Om Spring-appinstanserna tas bort eller flyttas under den tiden bör diagnostikinställningarna tas bort för att säkerställa att en annan app med samma resurs-ID inte återanvänder samma diagnostikinställning.

  • Använd Application Insights som ett konsekvent APM-verktyg (Application Performance Monitoring) för alla programkomponenter för att samla in programloggar, mått och spårningar. Den kan samla in data från alla beroenden och spårningar och har möjlighet att visualisera transaktioner från slutpunkt till slutpunkt.

    Med Azure Spring Apps kan du samla in Spring Cloud Resilience4J-mått i Application Insights. Aktivera Java In-Process-agenten och konfigurera dimensionssamling för att aktivera den här funktionen.

    Azure Spring Apps integrerar Spring Cloud Sleuth och Zipkin med Application Insights.

  • Välj mekanismer för tjänstidentifiering som gör att du snabbt kan identifiera och registrera appinstanser. Alternativen varierar beroende på Azure Spring Apps-nivån.

  • Använd beredskaps- och liveavsökningar tillsammans så att instanser av appar som inte är felfria tas bort från funktionerna för tjänstidentifiering.

  • Om programmet har en längre starttid justerar du den totala tidsgränsen initialDelaySeconds + periodSeconds * failureThreshold till ett värde som är längre än programmets starttid. Den här justeringen hjälper till att undvika avsökningsfelet och tvingar programmet att starta om.

  • Konfigurera dina hälsoavsökningar så att de vidtar åtgärder baserat på det programspecifika kommandot, en TCP Socket-anslutning eller en HTTP-begäran.

  • För Spring Boot-appar kan du använda hälsoindikatorn för Spring Boot Actuator för att konfigurera dina hälsoavsökningar.

Nästa steg

Azure Spring Apps-accelerator för landningszoner