Dela via


Azure Monitor

Dricks

Det här innehållet är ett utdrag från eBook, Architecting Cloud Native .NET Applications for Azure, tillgängligt på .NET Docs eller som en kostnadsfri nedladdningsbar PDF som kan läsas offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Ingen annan molnleverantör har en så mogen lösning för övervakning av molnprogram som den som finns i Azure. Azure Monitor är ett paraplynamn för en samling verktyg som är utformade för att ge insyn i systemets tillstånd. Det hjälper dig att förstå hur dina molnbaserade tjänster fungerar och identifierar proaktivt problem som påverkar dem. Bild 7–12 visar en hög vy av Azure Monitor.

High-level view of Azure Monitor.Bild 7-12. Översikt över Azure Monitor på hög nivå.

Samla in loggar och mått

Det första steget i en övervakningslösning är att samla in så mycket data som möjligt. Ju mer data som samlas in, desto djupare insikter. Instrumentsystem har traditionellt varit svåra. Simple Network Management Protocol (SNMP) var guldstandardprotokollet för insamling av information på datornivå, men det krävde mycket kunskap och konfiguration. Lyckligtvis har mycket av det här hårda arbetet eliminerats eftersom de vanligaste måtten samlas in automatiskt av Azure Monitor.

Mått och händelser på programnivå är inte möjliga att instrumentera automatiskt eftersom de är specifika för programmet som distribueras. För att samla in dessa mått finns det SDK:er och API:er tillgängliga för att direkt rapportera sådan information, till exempel när en kund registrerar sig eller slutför en beställning. Undantag kan också registreras och rapporteras tillbaka till Azure Monitor via Application Insights. SDK:erna stöder de flesta språk som finns i molnbaserade program, inklusive Go, Python, JavaScript och .NET-språken.

Det slutliga målet med att samla in information om programmets tillstånd är att se till att slutanvändarna får en bra upplevelse. Finns det något bättre sätt att se om användarna har problem än att göra webbtester utanför? Dessa tester kan vara så enkla som att pinga din webbplats från platser runt om i världen eller så att agenter loggar in på webbplatsen och simulerar användaråtgärder.

Rapporteringsdata

När data har samlats in kan de manipuleras, sammanfattas och ritas in i diagram, vilket gör att användarna omedelbart kan se när det finns problem. Dessa diagram kan samlas in i instrumentpaneler eller i arbetsböcker, en rapport med flera sidor som är utformad för att berätta en historia om någon aspekt av systemet.

Inget modernt program skulle vara komplett utan artificiell intelligens eller maskininlärning. Därför kan data skickas till de olika maskininlärningsverktygen i Azure så att du kan extrahera trender och information som annars skulle vara dold.

Application Insights tillhandahåller ett kraftfullt (SQL-liknande) frågespråk med namnet Kusto som kan köra frågor mot poster, sammanfatta dem och till och med rita diagram. Följande fråga letar till exempel upp alla poster för november 2007, grupperar dem efter tillstånd och ritar upp de 10 översta som ett cirkeldiagram.

StormEvents
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| summarize count() by State
| top 10 by count_
| render piechart

Bild 7–13 visar resultatet av den här Application Insights-frågan.

Application Insights query resultsBild 7-13. Application Insights-frågeresultat.

Det finns en lekplats för att experimentera med Kusto-frågor . Att läsa exempelfrågor kan också vara lärorikt.

Instrumentpaneler

Det finns flera olika instrumentpanelstekniker som kan användas för att visa informationen från Azure Monitor. Det enklaste är kanske att bara köra frågor i Application Insights och rita data i ett diagram.

An example of Application Insights charts embedded in the main Azure DashboardBild 7-14. Ett exempel på Application Insights-diagram som är inbäddade i huvudinstrumentpanelen i Azure.

Dessa diagram kan sedan bäddas in i Azure-portalen korrekt med hjälp av instrumentpanelsfunktionen. För användare med mer krävande krav, till exempel att kunna öka detaljnivån i flera datanivåer, är Azure Monitor-data tillgängliga för Power BI. Power BI är ett branschledande business intelligence-verktyg i företagsklass som kan aggregera data från många olika datakällor.

An example Power BI dashboard

Bild 7-15. Ett exempel på En Power BI-instrumentpanel.

Aviseringar

Ibland är det inte tillräckligt att ha datainstrumentpaneler. Om ingen är vaken för att titta på instrumentpanelerna kan det fortfarande ta många timmar innan ett problem åtgärdas eller till och med identifieras. För detta ändamål tillhandahåller Azure Monitor också en top notch-aviseringslösning. Aviseringar kan utlösas av en mängd olika villkor, bland annat:

  • Måttvärden
  • Loggsökningsfrågor
  • Aktivitetslogghändelser
  • Hälsotillståndet för den underliggande Azure-plattformen
  • Tester för webbplatstillgänglighet

När de utlöses kan aviseringarna utföra en mängd olika uppgifter. På den enkla sidan kan aviseringarna bara skicka ett e-postmeddelande till en e-postlista eller ett sms till en individ. Mer involverade aviseringar kan utlösa ett arbetsflöde i ett verktyg som PagerDuty, som är medvetet om vem som är jour för ett visst program. Aviseringar kan utlösa åtgärder i Microsoft Flow som låser upp nästan obegränsade möjligheter för arbetsflöden.

När vanliga orsaker till aviseringar identifieras kan aviseringarna förbättras med information om de vanliga orsakerna till aviseringarna och vilka åtgärder som ska vidtas för att lösa dem. Mycket mogna molnbaserade programdistributioner kan välja att starta självåterställningsuppgifter, som utför åtgärder som att ta bort noder som misslyckas från en skalningsuppsättning eller utlösa en automatisk skalningsaktivitet. Så småningom kanske det inte längre är nödvändigt att väcka jourpersonal klockan 02.00 för att lösa ett problem med liveplatsen eftersom systemet kommer att kunna anpassa sig för att kompensera eller åtminstone halta fram tills någon kommer till jobbet nästa morgon.

Azure Monitor använder automatiskt maskininlärning för att förstå de normala driftsparametrarna för distribuerade program. Med den här metoden kan den identifiera tjänster som körs utanför deras normala parametrar. Den vanliga veckodagstrafiken på webbplatsen kan till exempel vara 10 000 begäranden per minut. Och sedan, under en viss vecka, når plötsligt antalet förfrågningar mycket ovanliga 20 000 förfrågningar per minut. Smart identifiering ser den här avvikelsen från normen och utlöser en avisering. Samtidigt är trendanalysen tillräckligt smart för att undvika att utlöser falska positiva identifieringar när trafikbelastningen förväntas.

Referenser