Felsöka loggsökningsaviseringar i Azure Monitor

Den här artikeln beskriver hur du löser vanliga problem med loggsökningsaviseringar i Azure Monitor. Det ger också lösningar på vanliga problem med funktioner och konfiguration av loggaviseringar.

Du kan använda loggaviseringar för att utvärdera resursloggar varje uppsättningsfrekvens med hjälp av en Log Analytics-fråga och utlösa en avisering som baseras på resultatet. Regler kan utlösa en eller flera åtgärder med hjälp av åtgärdsgrupper. Mer information om funktioner och terminologi för loggsökningsaviseringar finns i Logga aviseringar i Azure Monitor.

Kommentar

Den här artikeln beskriver inte fall där aviseringsregeln utlöstes, du kan se den i Azure-portalen, men meddelandet skickades inte. Se felsökningsaviseringar för sådana här fall.

En loggsökningsavisering utlöstes inte när den borde ha gjort det

Om loggsökningsaviseringen inte utlöstes när den skulle ha gjort det kontrollerar du följande:

  1. Är aviseringsregeln i ett degraderat eller otillgängligt hälsotillstånd?

    Visa hälsostatus för aviseringsregeln för loggsökning:

    1. I portalen väljer du Övervaka och sedan Aviseringar.

    2. I det översta kommandofältet väljer du Aviseringsregler. Sidan visar alla aviseringsregler för alla prenumerationer.

    3. Välj den aviseringsregel för loggsökning som du vill övervaka.

    4. I den vänstra rutan går du till Hjälp och väljer Resurshälsa.

      Skärmbild av avsnittet Resurshälsa i en aviseringsregel för loggsökning.

    Mer information finns i Övervaka hälsotillståndet för aviseringsregler för loggsökning.

  2. Kontrollera svarstiden för logginmatning.

    Azure Monitor bearbetar terabyte av kundernas loggar från hela världen, vilket kan orsaka svarstid för logginmatning.

    Loggar är halvstrukturerade data och är i sig mer latenta än mått. Om du har mer än 4 minuters fördröjning i utlösta aviseringar bör du överväga att använda måttaviseringar. Du kan skicka data till måttlagret från loggar med hjälp av måttaviseringar för loggar.

    För att minska svarstiden försöker systemet utföra aviseringsutvärderingen flera gånger. När data har hämtats utlöses aviseringen, vilket i de flesta fall inte är lika med loggposttiden.

  3. Är åtgärderna avstängda eller har aviseringsregeln konfigurerats för att matchas automatiskt?

    Ett vanligt problem är att du tror att aviseringen inte utlöstes, men regeln har konfigurerats så att aviseringen inte utlöses. Se de avancerade alternativen för aviseringsregeln för loggsökning för att kontrollera att båda följande inte är markerade:

    • Kryssrutan Stäng av åtgärder : gör att du kan stänga av utlösta aviseringsåtgärder under en viss tid.
    • Lös automatiskt aviseringar: konfigurerar aviseringen så att den endast utlöses en gång per villkor som uppfylls.

    Visa inga aviseringar

  4. Har aviseringsregelresursen flyttats eller tagits bort?

    Om en resurs för aviseringsregel flyttas, byter namn eller tas bort kommer alla loggaviseringsregler som refererar till den resursen att brytas. För att åtgärda det här problemet måste aviseringsregler återskapas med hjälp av en giltig målresurs för omfånget.

  5. Använder aviseringsregeln en systemtilldelad hanterad identitet?

    När du skapar en loggaviseringsregel med systemtilldelad hanterad identitet skapas identiteten utan behörighet. När du har skapat regeln måste du tilldela lämpliga roller till regelns identitet så att den kan komma åt de data som du vill fråga efter. Du kan till exempel behöva ge den en läsarroll för relevanta Log Analytics-arbetsytor, eller en läsarroll och en databasvisningsroll för det relevanta ADX-klustret. Mer information om hur du använder hanterade identiteter i loggaviseringar finns i Hanterade identiteter .

  6. Är frågan som används i aviseringsregeln för loggsökning giltig?

    När en loggaviseringsregel skapas verifieras frågan för rätt syntax. Men ibland kan frågan som anges i loggaviseringsregeln börja misslyckas. Några vanliga orsaker är:

    • Regler skapades via API:et och användaren hoppades över valideringen.
    • Frågan körs på flera resurser och en eller flera av resurserna har tagits bort eller flyttats.
    • Frågan misslyckas eftersom:
      • Loggningslösningen distribuerades inte till arbetsytan, så tabeller skapas inte.
      • Data slutade flöda till en tabell i frågan i mer än 30 dagar.
      • Anpassade loggtabeller har inte skapats eftersom dataflödet inte har startats.
    • Ändringar i frågespråket innehåller ett reviderat format för kommandon och funktioner, så frågan som angavs tidigare är inte längre giltig.

    Azure Advisor varnar dig om det här beteendet. Den lägger till en rekommendation om den berörda aviseringsregeln för loggsökning. Kategorin som används är "Hög tillgänglighet" med medelhög påverkan och en beskrivning av "Reparera loggaviseringsregeln för att säkerställa övervakning".

  7. Inaktiverades aviseringsregeln för loggsökning?

    Om en aviseringsregelfråga för loggsökning inte kan utvärderas kontinuerligt under en vecka inaktiverar Azure Monitor den automatiskt.

    I följande avsnitt visas några orsaker till varför Azure Monitor kan inaktivera en varningsregel för loggsökning. Dessutom finns det ett exempel på händelsen Aktivitetslogg som skickas när en regel är inaktiverad.

Exempel på aktivitetslogg när regeln är inaktiverad

{
    "caller": "Microsoft.Insights/ScheduledQueryRules",
    "channels": "Operation",
    "claims": {
        "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn": "Microsoft.Insights/ScheduledQueryRules"
    },
    "correlationId": "abcdefg-4d12-1234-4256-21233554aff",
    "description": "Alert: test-bad-alerts is disabled by the System due to : Alert has been failing consistently with the same exception for the past week",
    "eventDataId": "f123e07-bf45-1234-4565-123a123455b",
    "eventName": {
        "value": "",
        "localizedValue": ""
    },
    "category": {
        "value": "Administrative",
        "localizedValue": "Administrative"
    },
    "eventTimestamp": "2019-03-22T04:18:22.8569543Z",
    "id": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
    "level": "Informational",
    "operationId": "",
    "operationName": {
        "value": "Microsoft.Insights/ScheduledQueryRules/disable/action",
        "localizedValue": "Microsoft.Insights/ScheduledQueryRules/disable/action"
    },
    "resourceGroupName": "<Resource Group>",
    "resourceProviderName": {
        "value": "MICROSOFT.INSIGHTS",
        "localizedValue": "Microsoft Insights"
    },
    "resourceType": {
        "value": "MICROSOFT.INSIGHTS/scheduledqueryrules",
        "localizedValue": "MICROSOFT.INSIGHTS/scheduledqueryrules"
    },
    "resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
    "status": {
        "value": "Succeeded",
        "localizedValue": "Succeeded"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2019-03-22T04:18:22.8569543Z",
    "subscriptionId": "<SubscriptionId>",
    "properties": {
        "resourceId": "/SUBSCRIPTIONS/<subscriptionId>/RESOURCEGROUPS/<ResourceGroup>/PROVIDERS/MICROSOFT.INSIGHTS/SCHEDULEDQUERYRULES/TEST-BAD-ALERTS",
        "subscriptionId": "<SubscriptionId>",
        "resourceGroup": "<ResourceGroup>",
        "eventDataId": "12e12345-12dd-1234-8e3e-12345b7a1234",
        "eventTimeStamp": "03/22/2019 04:18:22",
        "issueStartTime": "03/22/2019 04:18:22",
        "operationName": "Microsoft.Insights/ScheduledQueryRules/disable/action",
        "status": "Succeeded",
        "reason": "Alert has been failing consistently with the same exception for the past week"
    },
    "relatedEvents": []
}

En loggsökningsavisering utlöstes när den inte borde ha gjort det

En konfigurerad loggaviseringsregel i Azure Monitor kan utlösas oväntat. I följande avsnitt beskrivs några vanliga orsaker.

  1. Utlöstes aviseringen på grund av problem med svarstiden?

    Azure Monitor bearbetar terabyte med kundloggar globalt, vilket kan orsaka svarstid för logginmatning. Det finns inbyggda funktioner för att förhindra falska aviseringar, men de kan fortfarande inträffa på mycket latenta data (över ~30 minuter) och data med svarstidstoppar.

    Loggar är halvstrukturerade data och är i sig mer latenta än mått. Om du har många feltändningar i utlösta aviseringar bör du överväga att använda måttaviseringar. Du kan skicka data till måttlagret från loggar med hjälp av måttaviseringar för loggar.

    Loggsökningsaviseringar fungerar bäst när du försöker identifiera specifika data i loggarna. De är mindre effektiva när du försöker identifiera brist på data i loggarna, till exempel aviseringar om pulsslag för virtuella datorer.

Felmeddelanden när du konfigurerar aviseringsregler för loggsökning

Se följande avsnitt för specifika felmeddelanden och deras lösningar.

Det gick inte att verifiera frågan eftersom du behöver behörighet för loggarna

Om du får det här felmeddelandet när du skapar eller redigerar aviseringsregelfrågan kontrollerar du att du har behörighet att läsa målresursloggarna.

  • Behörigheter som krävs för att läsa loggar i arbetsytekontextåtkomstläge: Microsoft.OperationalInsights/workspaces/query/read.
  • Behörigheter som krävs för att läsa loggar i åtkomstläge för resurskontext (inklusive arbetsytebaserad Application Insights-resurs): Microsoft.Insights/logs/tableName/read.

Mer information om behörigheter finns i Hantera åtkomst till Log Analytics-arbetsytor .

Enminutersfrekvens stöds inte för den här frågan

Det finns vissa begränsningar för att använda aviseringsregelfrekvensen en minut. När du anger aviseringsregelns frekvens till en minut utförs en intern manipulering för att optimera frågan. Den här manipulationen kan leda till att frågan misslyckas om den innehåller åtgärder som inte stöds.

En lista över scenarier som inte stöds finns i den här anteckningen.

Det gick inte att matcha det skalära uttrycket med namnet <>

Det här felmeddelandet kan returneras när du skapar eller redigerar aviseringsregelfrågan om:

  • Du refererar till en kolumn som inte finns i tabellschemat.
  • Du refererar till en kolumn som inte användes i en tidigare projektsats i frågan.

För att minimera detta kan du antingen lägga till kolumnen i den tidigare projektsatsen eller använda operatorn columnifexists .

ScheduledQueryRules API stöds inte för skrivskyddade OMS-aviseringar

Det här felmeddelandet returneras när du försöker uppdatera eller ta bort regler som skapats med den äldre API-versionen med hjälp av Azure-portalen.

  1. Redigera eller ta bort regeln programmatiskt med hjälp av Log Analytics REST API.
  2. Rekommenderas: Uppgradera dina aviseringsregler för att använda API för schemalagda frågeregler (äldre API finns på en utfasningssökväg).

Gränsen för aviseringsregeltjänsten uppnåddes

Mer information om antalet aviseringsregler för loggsökning per prenumeration och maximala gränser för resurser finns i Azure Monitor-tjänstbegränsningar. Se Kontrollera det totala antalet loggaviseringsregler som används för att se hur många måttaviseringsregler som används för närvarande. Om du har nått kvotgränsen kan följande steg hjälpa dig att lösa problemet.

  1. Ta bort eller inaktivera loggsökningsaviseringsregler som inte används längre.

  2. Använd delning efter dimensioner för att minska antalet regler. När du använder delning efter dimensioner kan en regel övervaka många resurser.

  3. Om du behöver öka kvotgränsen fortsätter du att öppna en supportbegäran och anger följande information:

    • Prenumerations-ID:t och resurs-ID:t för vilka kvotgränsen måste ökas
    • Orsaken till kvotökningen
    • Resurstypen för kvotökningen, till exempel Log Analytics eller Application Insights
    • Den begärda kvotgränsen

Nästa steg