Identifiera och åtgärda potentiella problem med aiOps och maskininlärning i Azure Monitor

Artificiell intelligens för IT-åtgärder (AIOps) erbjuder kraftfulla sätt att förbättra tjänstens kvalitet och tillförlitlighet med hjälp av maskininlärning för att bearbeta och automatiskt agera på data som du samlar in från program, tjänster och IT-resurser till Azure Monitor.

Azure Monitors inbyggda AIOps-funktioner ger insikter och hjälper dig att felsöka problem och automatisera datadrivna uppgifter, till exempel förutsäga kapacitetsanvändning och automatisk skalning, identifiera och analysera problem med programprestanda och identifiera avvikande beteenden på virtuella datorer, containrar och andra resurser. De här funktionerna ökar IT-övervakningen och it-driften, utan att kräva maskininlärningskunskap och ytterligare investeringar.

Azure Monitor innehåller även verktyg som gör att du kan skapa en egen maskininlärningspipeline för att introducera nya analys- och svarsfunktioner och agera på data i Azure Monitor-loggar.

Den här artikeln beskriver Azure Monitors inbyggda AIOps-funktioner och förklarar hur du kan skapa och köra anpassade maskininlärningsmodeller och skapa en automatiserad maskininlärningspipeline på data i Azure Monitor-loggar.

Inbyggda Azure Monitor AIOps- och maskininlärningsfunktioner

Övervakningsscenario Kapacitet beskrivning
Loggövervakning Insikter om Log Analytics-arbetsyta Ger en enhetlig vy över dina Log Analytics-arbetsytor och använder maskininlärning för att identifiera inmatningsavvikelser.
Kusto-frågespråk (KQL) tidsserieanalys och maskininlärningsfunktioner Lättanvända verktyg för att generera tidsseriedata, identifiera avvikelser, prognostisera och utföra rotorsaksanalys direkt i Azure Monitor-loggar utan att kräva djupgående kunskaper om datavetenskap och programmeringsspråk.
Microsoft Copilot för Azure Hjälper dig att använda Log Analytics för att analysera data och felsöka problem. Genererar KQL-exempelfrågor baserat på frågor, till exempel "Finns det några fel i containerloggar?".
Övervakning av programprestanda Intelligent vy för programkarta Kartor beroenden mellan tjänster och hjälper dig att upptäcka flaskhalsar i prestanda eller felpunkter för alla komponenter i ditt distribuerade program.
Smart identifiering Analyserar telemetrin som ditt program skickar till Application Insights, aviseringar om prestandaproblem och felavvikelser och identifierar potentiella grundorsaker till problem med programprestanda.
Måttaviseringar Dynamiska tröskelvärden för måttaviseringar Lär dig måttmönster, anger automatiskt aviseringströsklar baserat på historiska data och identifierar avvikelser som kan tyda på tjänstproblem.
Skalningsuppsättningar för virtuella datorer Förutsägande autoskalning Prognoser för de övergripande CPU-kraven för en VM-skalningsuppsättning, baserat på historiska CPU-användningsmönster, och skalas automatiskt ut för att uppfylla dessa behov.

Maskininlärning i Azure Monitor-loggar

Använd Kusto-frågespråk inbyggda tidsserieanalyser och maskininlärningsfunktioner, operatorer och plugin-program för att få insikter om tjänstens hälsa, användning, kapacitet och andra trender samt för att generera prognoser och upptäcka avvikelser i Azure Monitor-loggar.

För att få större flexibilitet och utöka din förmåga att analysera och agera på data kan du även implementera din egen maskininlärningspipeline på data i Azure Monitor-loggar.

Den här tabellen jämför fördelarna och begränsningarna med att använda KQL:s inbyggda maskininlärningsfunktioner och skapa en egen maskininlärningspipeline och länkar till självstudier som visar hur du kan implementera var och en:

Inbyggda KQL-maskininlärningsfunktioner Skapa en egen maskininlärningspipeline
Scenario ✅ Avvikelseidentifiering, rotorsak och tidsserieanalys
✅ Avvikelseidentifiering, rotorsak och tidsserieanalys
Avancerade analys- och AIOPs-scenarier
Fördelar 🔹Du kommer igång mycket snabbt.
🔹Inga datavetenskapskunskaper och programmeringskunskaper krävs.
🔹 Optimal prestanda och kostnadsbesparingar.
🔹Stöder större skalor.
🔹Möjliggör avancerade, mer komplexa scenarier.
🔹Flexibilitet vid val av bibliotek, modeller och parametrar.
Tjänstbegränsningar och datavolymer Frågegränser för Azure-portalen eller Fråge-API-loggen beror på om du arbetar i portalen eller använder API:et, till exempel från en notebook-fil. 🔹Fråga EFTER API-loggens frågegränser om du frågar efter data i Azure Monitor-loggar som en del av din maskininlärningspipeline. I annat fall finns det inga gränser för Azure-tjänsten.
🔹Kan stödja större datavolymer.
Integration Inga krävs. Kör med Log Analytics i Azure-portalen eller från en integrerad Jupyter Notebook. Kräver integrering med ett verktyg, till exempel Jupyter Notebook. Vanligtvis integrerar du även med andra Azure-tjänster, till exempel Azure Synapse Analytics.
Prestanda Optimala prestanda, med azure datautforskarens plattform, körs i hög skala på ett distribuerat sätt. Introducerar en liten fördröjning när du frågar efter eller exporterar data, beroende på hur du implementerar din maskininlärningspipeline.
Modelltyp Linjär regressionsmodell och andra modeller som stöds av KQL-tidsseriefunktioner med en uppsättning konfigurerbara parametrar. Helt anpassningsbar maskininlärningsmodell eller avvikelseidentifieringsmetod.
Kostnad Ingen extra kostnad. Beroende på hur du implementerar din maskininlärningspipeline kan du debiteras för att exportera data, mata in poängsatta data i Azure Monitor-loggar och använda andra Azure-tjänster.
Självstudie Identifiera och analysera avvikelser med hjälp av KQL-maskininlärningsfunktioner i Azure Monitor Analysera data i Azure Monitor-loggar med hjälp av en notebook-fil

Skapa en egen maskininlärningspipeline för data i Azure Monitor-loggar

Skapa en egen maskininlärningspipeline på data i Azure Monitor-loggar för att introducera nya AIOps-funktioner och stödja avancerade scenarier, till exempel:

  • Jakt på säkerhetsattacker med mer avancerade modeller än KQL:s.
  • Identifiera prestandaproblem och felsöka fel i ett webbprogram.
  • Skapa flerstegsflöden, köra kod i varje steg baserat på resultatet från föregående steg.
  • Automatisera analysen av Azure Monitor-loggdata och ge insikter om flera områden, inklusive infrastrukturhälsa och kundbeteende.
  • Korrelera data i Azure Monitor-loggar med data från andra källor.

Det finns två sätt att göra data i Azure Monitor-loggar tillgängliga för din maskininlärningspipeline:

I den här tabellen jämförs fördelarna och begränsningarna med metoderna för att hämta data för din maskininlärningspipeline:

Fråga efter data i Azure Monitor-loggar Exportera data
Fördelar 🔹Du kommer igång snabbt.
🔹Kräver endast grundläggande kunskaper i datavetenskap och programmering.
🔹Minimal svarstid och kostnadsbesparingar.
🔹Stöder större skalor.
🔹Inga frågebegränsningar.
Exporterade data? Nej Ja
Tjänstbegränsningar Frågebegränsningar för API-loggen och begränsning av användarfrågor. Du kan övervinna fråge-API:ets gränser till en viss grad genom att dela upp större frågor i segment. Ingen från Azure Monitor.
Datavolymer Analysera flera GBs med data, eller några miljoner poster per timme. Stöder stora mängder data.
Maskininlärningsbibliotek För små till medelstora datauppsättningar använder du vanligtvis maskininlärningsbibliotek med en nod, till exempel Scikit Learn. För stora datamängder använder du vanligtvis maskininlärningsbibliotek för stordata, till exempel SynapseML.
Svarstider Minimal. Introducerar en liten mängd svarstider vid export av data.
Kostnad Inga extra avgifter i Azure Monitor.
Kostnad för Azure Synapse Analytics, Azure Machine Learning eller annan tjänst om den används.
Kostnad för dataexport och extern lagring.
Kostnad för Azure Synapse Analytics, Azure Machine Learning eller annan tjänst om den används.

Dricks

Skapa en hybridpipeline för att dra nytta av det bästa av båda implementeringsmetoderna. En vanlig hybridmetod är att exportera data för modellträning, som omfattar stora mängder data, och att använda frågedata i Azure Monitor Logs-metoden för att utforska data och poängsätta nya data för att minska svarstiden och kostnaderna.

Implementera stegen i maskininlärningslivscykeln i Azure Monitor-loggar

När du konfigurerar en maskininlärningspipeline ingår vanligtvis alla eller några av stegen som beskrivs nedan.

Det finns olika Azure- och öppen källkod maskininlärningsbibliotek som du kan använda för att implementera din maskininlärningspipeline, inklusive Scikit Learn, PyTorch, Tensorflow, Spark MLlib och SynapseML.

Den här tabellen beskriver varje steg och innehåller vägledning på hög nivå och några exempel på hur du implementerar de här stegen baserat på implementeringsmetoderna som beskrivs i Skapa en egen maskininlärningspipeline för data i Azure Monitor-loggar:

Steg beskrivning Fråga efter data i Azure Monitor-loggar Exportera data
Utforska data Granska och förstå de data som du har samlat in. Det enklaste sättet att utforska dina data är att använda Log Analytics, som innehåller en omfattande uppsättning verktyg för att utforska och visualisera data i Azure-portalen. Du kan också analysera data i Azure Monitor-loggar med hjälp av en notebook-fil. Om du vill analysera loggar utanför Azure Monitor exporterar du data från Log Analytics-arbetsytan och konfigurerar miljön i den tjänst du väljer.
Ett exempel på hur du utforskar loggar utanför Azure Monitor finns i Analysera data som exporteras från Log Analytics med Synapse.
Skapa och träna en maskininlärningsmodell Modellträning är en iterativ process. Forskare eller dataforskare utvecklar en modell genom att hämta och rensa träningsdata, teknikerfunktioner, prova olika modeller och justera parametrar och upprepa den här cykeln tills modellen är korrekt och robust. För små till medelstora datauppsättningar använder du vanligtvis maskininlärningsbibliotek med en nod, till exempel Scikit Learn.
Ett exempel på hur du tränar en maskininlärningsmodell på data i Azure Monitor-loggar med hjälp av Scikit Learn-biblioteket finns i den här exempelanteckningsboken: Identifiera avvikelser i Azure Monitor-loggar med hjälp av maskininlärningstekniker.
För stora datamängder använder du vanligtvis maskininlärningsbibliotek för stordata, till exempel SynapseML.
Distribuera och poängsätta en modell Bedömning är processen att tillämpa en maskininlärningsmodell på nya data för att få förutsägelser. Bedömning måste vanligtvis göras i stor skala med minimal svarstid. Om du vill köra frågor mot nya data i Azure Monitor-loggar använder du Azure Monitor Query-klientbiblioteket.
Ett exempel på hur du poängsätt data med hjälp av öppen källkod verktyg finns i den här exempelanteckningsboken: Identifiera avvikelser i Azure Monitor-loggar med hjälp av maskininlärningstekniker.
Kör din pipeline enligt schemat Automatisera din pipeline för att träna om modellen regelbundet på aktuella data. Schemalägg din maskininlärningspipeline med Azure Synapse Analytics eller Azure Machine Learning. Se exemplen i kolumnen Frågedata i Azure Monitor-loggar .

Genom att mata in poängsatta resultat på en Log Analytics-arbetsyta kan du använda data för att få avancerade insikter och skapa aviseringar och instrumentpaneler. Ett exempel på hur du matar in poängsatta resultat med hjälp av Azure Monitor-inmatningsklientbiblioteket finns i Mata in avvikelser i en anpassad tabell på Log Analytics-arbetsytan.

Nästa steg

Läs mer om: