Blogg

Så kommer du igång med larmhantering i Azure Monitor

Azure Monitor är ett relativt nytt tillskott till övervakningsområdet när man talar om Microsoft-teknologier. Historiskt har det varit System Center Operations Manager (SCOM) som har varit det rätta verktyget, men med tillskottet av Azure Monitor ser saker och ting lite annorlunda ut. Till och från kan man höra saker som att ”SCOM är död” och att det skulle vara ute ur bilen och att man ska gå all in på Azure Monitor istället. Men är det verkligen så enkelt?

Enligt min åsikt, nej. Azure Monitor har onekligen en massa styrkor genom att vara molnbaserad och får därför uppdateringar med nya funktioner titt som tätt, så saknar den samtidigt saker som vi vant oss vid med SCOM under alla dessa år.

Jag tycker istället att det är en bra idé att kombinera dessa två verktyg istället för att bara välja den ena framför den andra, SCOM har sina styrkor medan Azure Monitor har sina. Fortfarande är en övervägande del av kundernas IT-miljöer placerade i deras egna datacenter och har därför fortfarande ett stort behov av den djupa övervakning som SCOM erbjuder med sina management packs. Dessa hjälper som bekant de olika teamen att hålla koll på sina olika applikationer. Samtidigt som applikationerna finns kvar i det egna datacentret flyttas en massa applikationer också upp i molnet där man kan dra fördel av alla dess styrkor med en helt annan skalbarhet t.ex., och detta väcker då frågan om hur man övervakar applikationerna på bästa sätt i denna nya miljö.

Min åsikt är att Azure Monitor är ett utmärkt övervakningsverktyg för molnbaserade resurser, som webbsidor eller virtuella maskiner placerade i Azure eftersom att där redan finns en stor mängd information som man kan agera på när något går fel. En av de viktigaste funktionera för ett övervakningsverktyg är självklart larmfunktionen, vi måste ju fortfarande få veta när något går fel för att vidta en åtgärd. Den åtgärden kan vara antingen manuell, eller allra helst automatiserad, men vi vill fortfarande veta när det sker för att kunna följa upp åtgärderna.

I den här bloggposten kommer jag visa hur man på ett sätt kan komma igång med larmhantering i Azure Monitor, och gå igenom de olika stegen som dyker upp längs vägen.

Spara frågan för att användas senare

Börja med att logga in i Azure-portalen och klicka dig fram till ”Monitor”.

Om du inte har ”Monitor” bland dina favoriter till vänster, klicka på ”All services” i det övre vänstra hörnet av portalen och du kommer hitta det genom att söka efter ordet ”Monitor”. Ett tips som kommer spara tid är att favoritmarkera den genom att klicka på den gula stjärnan

När du klickat dig fram till Monitor så väljer du ”Logs”.

1-3

För detta exemplet kommer jag använda en fråga (query) som tittar efter disk-instanser där det finns mindre än tio procent ledigt diskutrymme. Om du vill ändra vilka enhetsbokstäver den ska titta efter kan du uppdatera den fetmarkerade sektionen i frågan nedan.

Kopiera frågan nedan och klistra in den i sökrutan:

let _minValue = 10; Perf | where TimeGenerated >= ago(1h) | where CounterValue <= _minValue | where CounterName == "% Free Space" and InstanceName in ("C:", "D:", "E:", "F:", "G:", "H:") | summarize mtgPerf=max(TimeGenerated), CounterValue=max(CounterValue) by Computer, InstanceName, CounterName, ObjectName, DriveLetter=replace(@"(\w).",@"\1", InstanceName) | join kind=inner (Heartbeat | where OSType == "Windows"| summarize max(TimeGenerated) by Computer) on Computer | project Computer, ObjectName, CounterName, InstanceName, TimeGenerated=mtgPerf, round(CounterValue), DriveLetter, AlertType_s = "Windows Low Disk Space", Severity = 3, SeverityName_s = "WARNING", AffectedCI_s = strcat(Computer, "/", DriveLetter), AlertTitle_s = strcat(Computer, ": Low Disk Space on Drive ", DriveLetter), AlertDetails_s = strcat("Computer: ", Computer, "\r\nDrive Letter: ", DriveLetter, "\r\nPercent Free Space: ", round(CounterValue), "%\r\nAlert Threshold: <= ", _minValue, "%")

| distinct Computer, ObjectName, CounterName, InstanceName, TimeGenerated, CounterValue, DriveLetter, AlertType_s, SeverityName_s, AffectedCI_s, AlertTitle_s, AlertDetails_s

Klicka på Save.

2-3

Skriv in ett namn på frågan, välj att spara den som en Query och välj sedan vad du vill kalla kategorin. Klicka sedan på Save och frågan är redo att användas.

3-3

 

Skapa en action group

För att kunna ta åtgärd på larm genom t.ex. ett mail eller genom att trigga en runbook måste vi skapa en s.k. action group. Det är här all information om mottagare eller webhooks osv. finns lagrad.

Gå till “Monitor” från dina favoriter i vänstra sidan av Azure-portalen.

4

Klicka på “Add action group”. Ge gruppen ett namn, och tänk gärna igenom namnet så det blir lätt att hålla koll på de olika actiongrupperna sedan. Jag använder här samma resource group där jag lagrar mina övriga Azure Monitor-resurser. I det här fallet har jag bara valt att kalla den för AzureMonitor..

5

Härnäst är det dags att skapa de actions som skall triggas när ett larm uppstår. I det här fallet vill jag skicka ett mail till Windows Server-teamet. Ange ett namn på din “action”, Email WS Team exempelvis och välj sedan vilken typ av action som skall användas från listan som visas. Just nu använder jag email, men som du kan se finns det möjlihet att trigga Azure Funtions, webhooks, starta en Azure Automation runbook etc. vilket gör det till ett riktigt mäktigt verktyg..

Välj Email/SMS/Push/Voice.

6

Ange mail-adressen du vill använda och om du vill kunna skicka SMS eller få ett telefonsamtal, klicka sedan på OK längst ner.

När actiongruppen skapats kommer varje användare vars email du angivit få ett mail som talar om att de numer inkluderas i gruppen.

Skapa larmregeln

Det sista vi behöver göra är att skapa larmregeln som sådan, efter detta kan vi börja ta emot mail till våra maillådor.

Gå tillbaka till “Monitor” från dina favoriter och klicka på ”New alert rule”.

7

Under “Resource”-sektionen, klicka på Select.

8

Välj din Azure-prenumeration och sedan ”Log Analytics workspaces som resource type. Sedan väljer du vilket workspace du vill ställa frågan mot och klickar på Done.

9

Under “Conditions”-sektionen klickar du på Add. Välj sedan ”Log Search” som signal type följt av ”Log analytics” som Monitor service. Nu kommer du att se de olika frågor du skapat tidigare. Välj den fråga du skapade ovan.

10

Du kommer nu att få se frågan, och förhoppningsvis ser du ingenting här eftersom vi satt minimivärdet till tio procent.

Det enda du behöver ange här är threshold value. Eftersom vi vill veta så fort någon server med lågt diskutrymme visar sig blir alla värden över noll perfekt för oss. Ställ in värdet till noll och klicka sedan på Done.

11

 

Skapa en action rule

Under “Actions”-sektionen, klicka på “Add” och välj sedan den action group du skapade tidigare. I mitt fall väljer jag “Windows Server – E-mail – AG01”.

12

Slutligen, namnge regeln innan du slutför. Klicka på Create längst ner och den är färdig.

Under “Actions”-sektionen, klicka på “View configured actions” för att verifiera att allt ser bra ut, det borde se ut som på bilden nedan.

13

Klicka på Cancel för att gå tillbaka.

Ange ett namn för larmet, vilken nivå du vill ha på det (jag nöjer mig med warning just nu), om du vill att regeln pausas eller inte. Jag väljer att pausa regeln i en timme så att jag får en chans att åtgärda felet innan den larmar igen, detta kommer givetvis skilja sig åt beroende på vilken typ av server det gäller. Klicka på “Create alert rule” och du är färdig.

Ta emot larmen

Det sista jag kommer visa i den här posten är hur det ser ut när du tar emot ett larm. För att tvinga fram ett larm I min miljö fyllde jag upp disken på en av mina servrar, och nästan direkt dök mailen upp som du kan se nedan. Mailet som sådant kan anpassas en del genom att styra hur rubriken ska se ut t.ex. för att bättre passa era önskemål.

14

 

Sammanfattning

Det här var en genomgång om hur du kan komma igång med Azure monitor, men det finns såklart jättemycket kvar att titta på. Första gången man gör detta kan det framstå som krångligt och en massa olika steg, men det är å andra sidan bara första gången eftersom man sedan skapat action-grupper som kan återanvändas Att skapa en annan fråga som ska larma Windows Server-teamet blir bara enklare nästa gång eftersom det redan finns en action group skapad för dem. Så härifrån blir det mer av en next, next, finish-upplevelse.

Kom ihåg att jag enbart valde att skicka mail som åtgärd på mitt larm, men att det också finns en hel hög med andra möjligheter när det kommer till larmåtgärder. Även om det inte visats i denna post kan du alltid trigga olika automatiseringar på olika kritiska larm, t.ex. att starta om en tjänst eller att rensa upp en disk.

Jag hoppas du gillat denna första anblick, det kommer mer artiklar kring Azure Monitor framöver så håll ögonen öppna här på bloggen för att inte missa något.

Funderar du själv på detta med larmhantering med Azure Monitor, eller är du nyfiken på att prata automatiseringar i Azure? Hör då av dig så tar vi det vidare. Jag nås enklast på min mail här.

_E2A6682-1Daniel Örneling

Ämnen: Azure Log Analytics Azure Automation Digital Operations SCOM 2019 SCOM 1901 Azure Monitor Log Analytics Azure