Dela via


Anpassa varningsmeddelanden genom att använda Logic Apps

Den här artikeln visar hur du skapar en logikapp och integrerar den med ett Azure Monitor-larm. Du kan använda Azure Logic Apps för att bygga och anpassa arbetsflöden för integration. Använd Logikappar för att anpassa dina varningsmeddelanden. Du kan:

  • Anpassa varningsmeddelandets e-post genom att använda din egen e-postrubrik och -format för meddelandetext.

  • Anpassa varningens metadata genom att leta upp taggar för berörda resurser eller hämta ett loggfrågesökresultat. För information om hur du får tillgång till sökresultatrader som innehåller larmdata, se:

  • Integrera med externa tjänster genom att använda befintliga anslutningar som Outlook, Microsoft Teams, Slack och PagerDuty. Du kan även konfigurera logikappen för dina egna tjänster.

Detta exempel skapar en logikapp som använder common alerts schema för att skicka detaljer från varningen.

Skapa en logikapp

  1. I Azure-portalen, skapa en ny logikapp. I sökrutan högst upp på sidan, skriv in Logic apps och välj det från rullgardinsmenyn.

  2. På sidan Logic apps, välj Lägg till.

  3. Under Förbrukning, välj Multi-hyresgäst.

  4. På nästa sida väljer du Prenumeration och Resursgrupp för din logic app.

  5. Ange ett Logic App-namn och välj en region.

  6. Välj Granska + skapa>Skapa.

    Skärmbild av sidan 'Skapa Logic App'.

  7. Välj Gå till resurs när distributionen är klar.

Ställ in en trigger

  1. På sidan för Logic app väljer du Redigera i den övre åtgärdsfältet.

  2. Välj Lägg till en trigger, sök efter När en HTTP-förfrågan tas emot, och välj den från sökresultaten.

    Skärmdump av menyn 'Lägg till en trigger' med 'När en HTTP-förfrågan tas emot' markerad.

  3. Klistra in det vanliga larmschemat i fältet Request Body JSON Schema från följande JSON:

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Skärmdump av menyn 'När en HTTP-begäran tas emot' med fältet 'Request Body JSON Schema' markerat.

  4. (Valfritt) Du kan anpassa varningsmeddelandet genom att extrahera information om den berörda resursen som varningen har utlösts på, till exempel resursens taggar. Du kan sedan inkludera dessa resursetiketter i larmets innehåll och använda informationen i dina logiska uttryck för att skicka notifikationerna. För att göra detta steg, kommer vi att:

    • Skapa en variabel för de påverkade resurs-ID:erna.
    • Dela resurs-ID:n i en matris så att vi kan använda dess olika element (till exempel prenumeration och resursgrupp).
    • Använd Azure Resource Manager-kopplingen för att läsa resursens metadata.
    • Hämta resursens taggar, som sedan kan användas i efterföljande steg av logikappen.
    1. Välj +>Lägg till en åtgärd för att infoga ett nytt steg.

    2. På fältet Sök, sök efter och välj Initiera variabel.

    3. I Name-fältet, ange variabelns namn, såsom AffectedResource.

    4. I fältet Typ väljer du Matris.

    5. I fältet Värde, välj fx för att öppna funktionsfönstret. Ange strängen split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/') i det tomma fältet högst upp och välj Lägg till.

      Skärmdump av fliken Parametrar för panelen 'Initiera variabel'.

    6. Välj +>Lägg till en åtgärd för att infoga ett annat steg.

    7. I sökrutan, sök efter och välj Azure Resource Manager>Visa mer>Läs en resurs.

    8. Välj en autentiseringsmetod och logga in.

    9. Fyll i fälten för åtgärden Läs en resurs med arrayvärden från AffectedResource-variabeln. I vart och ett av fälten, välj fältet och rulla ner till Ange ett anpassat värde. Välj fx för att öppna funktionspopupfönstret. Ange den motsvarande strängen från den här tabellen i det tomma fältet längst upp och välj Lägg till.

      Fält Strängvärde
      Prenumeration variables('AffectedResource')[2]
      Resursgrupp variables('AffectedResource')[4]
      Resursleverantör variables('AffectedResource')[6]
      Kort Resurs-ID concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      Client Api-version Resurstypens API-version

      För att hitta din resurstyps API-version, välj länken JSON view högst upp till höger på resursens översiktssida.

      Sidan för Resource JSON visas med ResourceID och API-version högst upp på sidan.

    Det dynamiska innehållet inkluderar nu taggar från den berörda resursen. Du kan använda dessa taggar när du konfigurerar dina aviseringar enligt de följande stegen.

Ställ in en åtgärd

Välj +>Lägg till en åtgärd för att infoga ett nytt steg.

  1. I sökfältet, sök efter Send an email (V2).

  2. Under Office 365 Outlook, välj Skicka ett e-postmeddelande (V2) från listan över åtgärder.

    Skärmdump av menyn 'Lägg till en åtgärd' med 'Skicka ett e-postmeddelande (V2)' markerad.

  3. Logga in på Office 365 när du uppmanas att skapa en anslutning.

  4. Ange e-postadressen för att skicka varningen till fältet Till.

  5. I fältet Ämne, skapa ämnestexten genom att ange statisk text och inkludera innehåll som tas från larmets nyttolast genom att välja fält från listan Dynamiskt innehåll.

    Till exempel:

    • Alert: Välj alertRule från listan Dynamiskt innehåll.
    • med allvarlighetsgrad: Välj allvarlighetsgrad från listan Dynamiskt innehåll.
    • har villkor: Välj monitorCondition från listan Dynamiskt innehåll.
  6. Skapa e-postens Innehåll genom att ange statisk text och inkludera innehåll från larmets payload genom att välja fält från listan Dynamiskt innehåll.

    Till exempel:

    • Tillståndsövervakning: Välj monitorCondition från listan Dynamic content.
    • Date fired: Välj firedDateTime från listan Dynamic content.
    • Påverkade resurser: Välj alertTargetIDs från listan Dynamiskt innehåll.
  7. Välj Spara.

    Skärmdump av menyn 'Skicka ett e-postmeddelande (V2)' med fälten Till, Ämne och Meddelande markerade.

Du skapade en logikapp som skickar ett e-postmeddelande till den angivna adressen, med detaljer från larmet som utlöste det.

Nästa steg är att skapa en åtgärdsgrupp för att utlösa din logikapp.

Skapa en åtgärdsgrupp

För att utlösa din logikapp, skapa en åtgärdsgrupp. Skapa sedan ett larm som använder den åtgärdsgruppen.

  1. Gå till sidan Azure Monitor och välj Alerts från panelen till vänster.

  2. Välj Åtgärdsgrupper>Skapa.

  3. Välj värden för Prenumeration, Resursgrupp och Region.

  4. Ange ett namn för Åtgärdsgruppens namn och Visningsnamn.

  5. Välj fliken Åtgärder.

    Skärmdump av fliken Grunder på sidan 'Skapa en åtgärdsgrupp'.

  6. På fliken Åtgärder under Åtgärdstyp väljer du Logikapp.

  7. I avsnittet Logikapp väljer du din logikapp i listrutan.

  8. Ställ in Aktivera gemensamt varningsschema till Ja. Om du väljer No, bestämmer typ av varning vilken varningsschema som används. För mer information om larm-scheman, se Context-specific alert schemas.

  9. Välj OK.

  10. Ange ett namn i fältet Namn.

  11. Välj Granska + skapa>Skapa.

    Skärmdump av fliken Åtgärder på sidan 'Skapa en åtgärdsgrupp'.

Testa åtgärdsgruppen

  1. Gå till sidan Azure Monitor och välj Alerts från panelen till vänster.

  2. Gå till Åtgärdsgrupper och välj din logikapp.

  3. Välj Testa i det övre åtgärdsfältet.

  4. Välj en exempelvarningstyp från rullgardinsmenyn Välj exempeltyp.

  5. Välj Testa.

    Skärmdump av testsidan för åtgärdsgruppens detaljer.

    Följande e-postmeddelande skickas till det angivna kontot:

    Skärmbild av ett exempel på ett e-postmeddelande som skickas av testsidan.

Skapa en regel genom att använda din åtgärdsgrupp

  1. Skapa en aviseringsregel för en av dina resurser.

  2. På fliken Åtgärder i din regel väljer du Använd åtgärdsgrupper.

  3. Välj din åtgärdsgrupp i listan.

  4. Välj Välj.

  5. Avsluta skapandet av din regel.

    Skärmbild som visar fliken Åtgärder i fönstret Skapa en aviseringsregel och fönstret Välj åtgärdsgrupper.

Nästa steg