Felsöka Azure Stream Analytics med hjälp av resursloggar

Ibland kan ett Azure Stream Analytics-jobb oväntat avbryta bearbetningen. Det är viktigt att kunna felsöka den här typen av händelse. Fel kan inträffa på grund av ett oväntat frågeresultat, enhetsanslutningar eller ett oväntat tjänstavbrott. Resursloggarna i Stream Analytics kan hjälpa dig att identifiera orsaken till problem när de inträffar och minska återställningstiden.

Vi rekommenderar starkt att du aktiverar resursloggar för alla jobb eftersom det i hög grad hjälper till med felsökning och övervakning.

Loggtyper

Stream Analytics erbjuder två typer av loggar:

  • Aktivitetsloggar (alltid på) som ger insikter om åtgärder som utförs på jobb.

  • Resursloggar (kan konfigureras) som ger bättre insikter om allt som händer med ett jobb. Resursloggarna startar när jobbet skapas och slutar när jobbet tas bort. De omfattar händelser när jobbet uppdateras och när det körs.

Kommentar

Du kan använda tjänster som Azure Storage, Azure Event Hubs och Azure Monitor-loggar för att analysera icke-konforma data. Du debiteras baserat på prismodellen för dessa tjänster.

Kommentar

Den här artikeln uppdaterades nyligen för att använda termen Azure Monitor-loggar i stället för Log Analytics. Loggdata lagras fortfarande på en Log Analytics-arbetsyta och samlas fortfarande in och analyseras av samma Log Analytics-tjänst. Vi uppdaterar terminologin för att bättre återspegla loggarnas roll i Azure Monitor. Mer information finns i Terminologiändringar i Azure Monitor.

Felsöka med hjälp av aktivitetsloggar

Aktivitetsloggar är aktiverade som standard och ger insikter på hög nivå om åtgärder som utförs av ditt Stream Analytics-jobb. Information som finns i aktivitetsloggar kan hjälpa dig att hitta rotorsaken till de problem som påverkar ditt jobb. Gör följande för att använda aktivitetsloggar i Stream Analytics:

  1. Logga in på Azure-portalen och välj Aktivitetslogg under Översikt.

    Stream Analytics-aktivitetslogg

  2. Du kan se en lista över åtgärder som har utförts. Alla åtgärder som gjorde att jobbet misslyckades har en röd informationsbubbla.

  3. Välj en åtgärd för att se dess sammanfattningsvy. Informationen här är ofta begränsad. Om du vill veta mer om åtgärden väljer du JSON.

    Sammanfattning av aktivitetsloggåtgärd för Stream Analytics

  4. Rulla ned till avsnittet Egenskaper i JSON, som innehåller information om felet som orsakade den misslyckade åtgärden. I det här exemplet berodde felet på ett körningsfel från utanför bundna latitudvärden. Avvikelser i data som bearbetas av ett Stream Analytics-jobb orsakar ett datafel. Du kan lära dig mer om olika indata- och utdatafel och varför de inträffar.

    JSON-felinformation

  5. Du kan vidta korrigerande åtgärder baserat på felmeddelandet i JSON. I det här exemplet kontrollerar du att latitudvärdet är mellan -90 grader och 90 grader måste läggas till i frågan.

  6. Om felmeddelandet i aktivitetsloggarna inte är användbart för att identifiera rotorsaken aktiverar du resursloggar och använder Azure Monitor-loggar.

Skicka diagnostik till Azure Monitor-loggar

Vi rekommenderar starkt att du aktiverar resursloggar och skickar dem till Azure Monitor-loggar. De är avstängda som standard. Utför följande steg för att aktivera dem:

  1. Skapa en Log Analytics-arbetsyta om du inte redan har en. Vi rekommenderar att du har log analytics-arbetsytan i samma region som streamanalysjobbet.

  2. Logga in på Azure-portalen och navigera till ditt Stream Analytics-jobb. Under Övervakning väljer du Diagnostikloggar. Välj sedan Aktivera diagnostik.

    Bladnavigering till resursloggar

  3. Ange ett namn i namndiagnostikinställningar och markera kryssrutorna för Körning och redigering under logg och AllMetrics under mått. Välj sedan Skicka till Log Analytics och välj din arbetsyta. Välj Spara.

    Inställningar för resursloggar

  4. När Stream Analytics-jobbet startar dirigeras resursloggar till Din Log Analytics-arbetsyta. Om du vill visa resursloggar för ditt jobb väljer du Loggar under avsnittet Övervakning .

    Skärmbild som visar menyn Allmänt med Loggar markerat.

  5. Stream Analytics tillhandahåller fördefinierade frågor som gör att du enkelt kan söka efter loggarna som du är intresserad av. Du kan välja fördefinierade frågor i det vänstra fönstret och sedan välja Kör. Du ser resultatet av frågan i det nedre fönstret.

    Skärmbild som visar loggar för ett Stream Analytics-jobb.

Resursloggkategorier

Azure Stream Analytics samlar in två kategorier av resursloggar:

  • Redigering: Samlar in logghändelser som är relaterade till jobbredigeringsåtgärder, till exempel jobbskapande, tillägg och borttagning av indata och utdata, tillägg och uppdatering av frågan samt start eller stopp av jobbet.

  • Körning: Samlar in händelser som inträffar under jobbkörningen.

    • Anslutningsfel
    • Databearbetningsfel, inklusive:
      • Händelser som inte överensstämmer med frågedefinitionen (felmatchade fälttyper och värden, saknade fält och så vidare)
      • Utvärderingsfel för uttryck
    • Andra händelser och fel

Schema för resursloggar

Alla loggar lagras i JSON-format. Varje post har följande vanliga strängfält:

Name Beskrivning
time Tidsstämpel (i UTC) för loggen.
resourceId ID för resursen som åtgärden ägde rum på, i versaler. Den innehåller prenumerations-ID, resursgrupp och jobbnamn. Till exempel /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT. STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
category Loggkategori, antingen Körning eller Redigering.
operationName Namnet på den åtgärd som loggas. Till exempel Skicka händelser: SKRIVfel för SQL-utdata till mysqloutput.
status Status för åtgärden. Till exempel Misslyckades eller Lyckades.
nivå Loggnivå. Till exempel Fel, Varning eller Information.
egenskaper Logga inmatningsspecifik information, serialiserad som en JSON-sträng. Mer information finns i följande avsnitt i den här artikeln.

Schema för körningsloggegenskaper

Körningsloggar innehåller information om händelser som inträffade under Stream Analytics-jobbkörningen. Schemat för egenskaper varierar beroende på om händelsen är ett datafel eller en allmän händelse.

Datafel

Eventuella fel som uppstår när jobbet bearbetar data finns i den här kategorin av loggar. Dessa loggar skapas oftast under läs-, serialiserings- och skrivåtgärder för data. Dessa loggar innehåller inte anslutningsfel. Anslut ivitetsfel behandlas som allmänna händelser. Du kan lära dig mer om orsaken till olika indata- och utdatafel.

Name beskrivning
Källa Namn på jobbindata eller utdata där felet inträffade.
Meddelande Meddelande som är associerat med felet.
Typ Typ av fel. Till exempel DataConversionError, CsvParserError eller ServiceBusPropertyColumnMissingError.
Data Innehåller data som är användbara för att korrekt hitta källan till felet. Föremål för trunkering, beroende på storlek.

Beroende på värdet operationName har datafel följande schema:

  • Serialisera händelser inträffar under händelseläsningsåtgärder. De inträffar när data vid indata inte uppfyller frågeschemat av någon av följande orsaker:

    • Typmatchningsfel under händelse serialisering/deserialisering: Identifierar det fält som orsakar felet.

    • Det går inte att läsa en händelse, ogiltig serialisering: Visar information om platsen i indata där felet inträffade. Innehåller blobnamn för blobindata, förskjutning och ett exempel på data.

  • Skicka händelser inträffar under skrivåtgärder. De identifierar den strömningshändelse som orsakade felet.

Allmänna händelser

Allmänna händelser täcker allt annat.

Name beskrivning
Fel (valfritt) Felinformation. Vanligtvis är det undantagsinformationen om den är tillgänglig.
Meddelande Loggmeddelande.
Typ Typ av meddelande. Kartor till intern kategorisering av fel. Till exempel JobValidationError eller BlobOutputAdapterInitializationFailure.
Korrelations-ID GUID som unikt identifierar jobbkörningen. Alla körningsloggposter från den tidpunkt då jobbet startar tills jobbet stoppas har samma korrelations-ID-värde .

En referens finns i en lista över alla kategorityper för resursloggar som stöds i Azure Monitor eller alla typer av resursloggskategorier som samlats in för Azure Stream Analytics.

Nästa steg