Övervakning av arbetsbelastningar
Traditionell program- och infrastrukturövervakning baseras på det program som körs och dess svarstid. Molnbaserad övervakning erbjuder dock många fler möjligheter som du kan utnyttja för att ge användarna den bästa upplevelsen. I en produktionsmiljö är det viktigt att spåra hur kunderna använder systemet, spåra resursutnyttjande och i allmänhet övervaka systemets hälsotillstånd och prestanda. Du kan använda den här informationen som ett diagnostiskt stöd för att identifiera och åtgärda problem, och även för att upptäcka potentiella problem och förhindra att de inträffar.
Programövervakning
Program Insights är Azure-tjänsten som gör att du kan:
- Kontrollera att programmet körs korrekt.
- Gör felsökning av program enklare.
- Tillhandahåller anpassad affärstelemetri som anger om ditt program används som avsett.
Se till att du använder all omfattande information som Application Insights kan ge om ditt program. Den här listan är inte fullständig, men följande objekt ger insyn i vad Insights kan erbjuda:
- Program Insights erbjuder en standardinstrumentpanel med en kvalificerad gissning av de viktigaste måtten som du är intresserad av. Du kan sedan ändra den och anpassa den efter dina egna behov.
- Genom att instrumentera programmet på rätt sätt får Insights ger dig prestandastatistik både från en klient och ett serverperspektiv
- Programkartan visar programberoenden i andra tjänster, till exempel backend-API:er eller databaser, så att du kan fastställa prestandaproblem visuellt
- Smart identifiering varnar dig när avvikelser i prestanda- eller användningsmönster inträffar
- Användningsanalys kan ge dig telemetri om vilka funktioner i ditt program som används oftast eller om alla programfunktioner används. Den här funktionen är särskilt användbar efter ändringar i programfunktionen för att kontrollera om ändringarna lyckades
- Lanseringsanteckningar är visuella indikatorer i dina Application Insights-diagram över nya versioner och andra händelser, så att du visuellt kan korrelera ändringar i programprestanda till kodutgåningar, så att du snabbt kan hitta prestandaproblem.
- Med transaktionsdiagnostik mellan komponenter kan du följa misslyckade transaktioner för att hitta den punkt i arkitekturen där felet uppstod.
- Snapshot Debugger automatiskt samla in en ögonblicksbild av ett live-program i händelse av ett undantag, för att analysera den i ett senare skede.
Om du vill använda Insights har du två alternativ:
- Använd kodlös övervakning, där registrering av appen till Application Insights inte kräver någon kodändring.
- Använd kodbaserad övervakning, där du instrumenterar koden för att skicka telemetri till Application Insights med Hjälp av Software Development Kit för val av programmeringsspråk.
Du kan använda andra verktyg för hantering av programprestanda för att övervaka ditt program i Azure, till exempel NewRelic eller AppDynamics, men Application Insights ger dig den mest sömlösa och integrerade upplevelsen.
Plattformsövervakning
Program Insights är i själva verket en av komponenterna i Azure Monitor, vilket ger dig omfattande mått och loggar för att verifiera tillståndet för ditt fullständiga Azure-landskap. Oavsett om ditt program körs på Virtual Machines, App Services eller Kubernetes kan Azure Monitor hjälpa dig att följa infrastrukturens tillstånd och reagera snabbt om det finns några problem.
Se inte bara till att övervaka dina beräkningselement som stöder din programkod, utan även din dataplattform: databaser, lagringskonton eller datasjöar bör övervakas noggrant, eftersom en låg prestanda för datanivån för ett program kan få allvarliga konsekvenser.
Containerinsikter
Om programmet körs på Azure Kubernetes Service kan Azure Monitor enkelt övervaka tillståndet för klustret, noderna och poddarna. Container Insights är enkelt att konfigurera för AKS-kluster och ger snabb, visuell och användbar information: från cpu- och minnesbelastningen på noderna till loggarna för enskilda Kubernetes-poddar.
För operatörer som föredrar att använda Kubernetes-övervakningsverktyget Prometheus med öppen källkod men fortfarande är lika enkelt att använda som Azure Monitor Container Insights kan båda lösningarna integreras med varandra.
Sidovagnsmönstret lägger till en separat container med ansvarsområden som krävs av huvudcontainern. Ett vanligt användningsfall är att köra loggningsverktyg och övervakningsagenter.
Nätverksövervakning
Oavsett formfaktor eller programmeringsspråk som ditt program baseras på kan nätverket som ansluter koden till dina användare göra eller bryta upplevelsen som programmet tillhandahåller. Därför kan övervakning och felsökning av nätverket vara under kontroll för ett driftteam. Komponenten i Azure Monitor som hanterar nätverkskomponenterna kallas för Network Watcher, en samling verktyg för nätverksövervakning och felsökning. Några av de här verktygen är:
- Trafikanalys ger dig en översikt över trafiken i dina virtuella nätverk, samt procentandelen som kommer från skadliga IP-adresser, med hjälp av Microsoft Threat Intelligence-databaser. Det här verktyget visar även de system i dina virtuella nätverk som genererar mest trafik, så att du visuellt kan identifiera flaskhalsar innan de genereras till problem.
- Övervakare av nätverksprestanda kan generera syntetisk trafik för att mäta prestanda för nätverksanslutningar via flera länkar, vilket ger dig ett perspektiv på utvecklingen av WAN- och Internetanslutningar över tid och erbjuder värdefull övervakningsinformation om Microsoft ExpressRoute-kretsar.
- VPN-diagnostik kan hjälpa dig att felsöka plats-till-plats-VPN-anslutningar som ansluter dina program till användare lokalt.
- Anslutningsövervakare kan du mäta nätverkets tillgänglighet mellan uppsättningar med slutpunkter.
Andra informationskällor
Inte bara dina programkomponenter producerar data, utan det finns många andra signaler som du behöver spåra för att effektivt driva en molnmiljö:
- Aktivitetslogg:Det här är en spårgranskning som gör att du kan se alla ändringar som har gått igenom Azure-API:er. Det kan vara viktigt att förstå plötsliga prestandaändringar eller problem som kan ha berodde på en felaktig konfiguration av Azure-plattformen.
- Azure Service Health:ibland kan avbrott inte orsaka konfigurationsändringar, utan av problem i själva Azure-plattformen. Du hittar information om Azure-relaterade problem som påverkar ditt program i Azure Service Health loggarna.
- Azure Advisor:Här hittar du rekommendationer om hur du optimerar din Azure-plattform för att minska kostnaderna, förbättra din säkerhetsstatus eller öka tillgängligheten för din miljö.
- Microsoft Defender for Cloud:inte ett fokus för den här grundpelaren, utan för fullständighet: Microsoft Defender for Cloud kan hjälpa dig att förstå om dina Azure-resurser är konfigurerade enligt bästa praxis för säkerhet
Övervaka externa beroenden
Precis som att övervaka dina program och Azure-infrastrukturen är det också viktigt att övervaka externa beroenden. Se till att du har lösningar för att få insyn i hälsotillståndet och tillgängligheten för externa beroenden, till exempel tjänster från tredje part, paketdatabaser och andra relaterade program.
Azure Monitor kan ha en roll vid övervakning av externa beroenden. Azure Monitor kan mata in data från flera anpassade datakällor, vilket ger viss utökningsbarhet till vad som kan övervakas. Genom att använda anpassade datakällor för externa beroenden får du funktioner för att Azure Monitor på virtuella tjänster, slutpunkter eller programvarulösningar.
Mer information om hur du matar in data från anpassade källor finns i följande artiklar.
- Samla in anpassade loggar med Log Analytics-agenten i Azure Monitor
- Samla in anpassade JSON-datakällor med Log Analytics-agenten för Linux
- Skicka loggdata till Azure Monitor med API för HTTP-datainsamling
Regelverk för övervakning
Händelsekorrelation
En viktig fördel med Azure Monitor är att det är övervakningsverktyg för hela Azure-plattformen. Som föregående avsnitt har visat innehåller Azure Monitor mått och loggar som är relevanta för din programkod, plattformen där den körs, datakomponenterna samt nätverket som ansluter programmet till användarna. Detta gör det möjligt för operatörer att jämföra mått för olika programkomponenter med varandra och ta reda på beroenden som annars kan ha dolts.
Instrumentpaneler i Azure är ett bra sätt att exponera den omfattande information som finns i Azure Monitor andra användare. Se till att skapa delade instrumentpaneler för att exponera relevant information för de olika grupper som är inblandade i driften av ditt program, inklusive utvecklare och operatörer. Om mer komplexa visualiseringar krävs kan Azure Monitor data exporteras till Power BI för avancerad dataanalys.
Meddelanden
Oavsett om det gäller program-, nätverks- eller plattformsövervakning bör du inte förvänta dig att operatörer ständigt tittar på instrumentpaneler. Aviseringar bör i stället användas för att skicka proaktiva meddelanden till relevanta personer som kommer att reagera på dem. Åtgärdsgrupper i Azure Monitor kan användas för att meddela flera mottagare, utlösa automatiserade åtgärder eller till och med för att automatiskt öppna biljetter i IT-tjänsthanteringsverktyg som ServiceNow.
Automatisering kring aviseringar är avgörande på grund av DevOps höga samarbetsfunktioner och den inbyggda hastighet som krävs för effektiv incidenthantering. Tidigare i år kom en rapport från DevOps.com som anger att 80 % av IT-teamen varnas för kritiska incidenter via e-post. E-post är en effektiv typ av kommunikation, men det bör inte vara den vanligaste aviseringsmetoden för ett kritiskt problem. Om du i stället kan definiera åtgärder som ska utföras när du tar emot vissa aviseringar (till exempel upp- eller nedskalning) kommer systemet att självläkning.
Andra övervakningsuppgifter
Utöver Azure Monitor bör du hålla ett öga på vissa händelser för att se till att programmet körs smidigt:
- Granska azure-prenumerationsgränserna för dina resurser och se till att du inte kommer för nära.
- Förstå Azure-supportplaner. Se Vanliga frågor och svar om Azure-support. Bekanta ditt team med Azure-supporten.
- Se till att du övervakar förfallodatum för digitala certifikat, eller ännu bättre, konfigurera automatisk förnyelse av digitala certifikat med Azure Key Vault.
Sammanfattning
Du kan använda valfri övervakningsplattform för att hantera dina Azure-resurser. Microsofts förstapartserbjudande är Azure Monitor, en omfattande lösning för mått och loggar från infrastrukturen till programkoden, inklusive möjligheten att utlösa aviseringar och automatiserade åtgärder samt datavisualisering.