Datadriven felsökning med hjälp av jobbdiagrammet

Jobbdiagrammet på bladet Övervakning i Azure-portalen hjälper dig att visualisera din jobbpipeline. Den visar steg för indata, utdata och frågor. Du kan använda jobbdiagrammet för att undersöka mätvärden för varje steg så att du snabbt kan isolera källan till ett problem när du felsöker.

Använda jobbdiagrammet

I Azure-portalen väljer du Jobbdiagram under SUPPORT + FELSÖKNING i ett Stream Analytics-jobb:

Job diagram with metrics - location

Välj varje frågesteg för att se motsvarande avsnitt i ett frågeredigeringsfönster. Ett måttdiagram för steget visas i ett nedre fönster på sidan.

Job diagram with metrics - basic job

Om du vill se partitionerna för Azure Event Hubs-indata väljer du . . . En snabbmeny visas. Du kan också se indatasammanslagningen.

Job diagram with metrics - expand partition

Om du bara vill se måttdiagrammet för en enda partition väljer du partitionsnoden. Måtten visas längst ned på sidan.

Job diagram with metrics - more metrics

Om du vill se måttdiagrammet för en sammanslagning väljer du fusionsnoden. Följande diagram visar att inga händelser har släppts eller justerats.

Job diagram with metrics - grid

Om du vill se information om måttvärdet och tiden pekar du på diagrammet.

Job diagram with metrics - hover

Felsökning med hjälp av mått

Måttet QueryLastProcessedTime anger när ett specifikt steg tog emot data. Genom att titta på topologin kan du arbeta bakåt från utdataprocessorn för att se vilket steg som inte tar emot data. Om ett steg inte hämtar data går du till frågesteget precis före det. Kontrollera om föregående frågesteg har ett tidsfönster och om det har gått tillräckligt med tid för att mata ut data. (Observera att tidsfönstren har fästs på timmen.)

Om föregående frågesteg är en indataprocessor använder du indatamåtten för att besvara följande målfrågor. De kan hjälpa dig att avgöra om ett jobb hämtar data från sina indatakällor. Granska varje partition om frågan är partitionerad.

Hur mycket data läss?

  • InputEventsSourcesTotal är antalet lästa dataenheter. Till exempel antalet blobar.
  • InputEventsTotal är antalet lästa händelser. Det här måttet är tillgängligt per partition.
  • InputEventsInBytesTotal är antalet lästa byte.
  • InputEventsLastArrivalTime uppdateras med varje mottagen händelses tid.

Går tiden framåt? Om faktiska händelser läses kanske inte skiljetecken utfärdas.

  • InputEventsLastPunctuationTime anger när ett skiljetecken utfärdades för att se till att tiden går framåt. Om skiljetecken inte utfärdas kan dataflödet blockeras.

Finns det några fel i indata?

  • InputEventsEventDataNullTotal är antalet händelser som har null-data.
  • InputEventsSerializerErrorsTotal är ett antal händelser som inte kunde deserialiseras korrekt.
  • InputEventsDegradedTotal är antalet händelser som hade ett annat problem än med deserialisering.

Tas händelser bort eller justeras?

  • InputEventsEarlyTotal är antalet händelser som har en programtidsstämpel före högvattenmärket.
  • InputEventsLateTotal är antalet händelser som har en programtidsstämpel efter högvattenstämpeln.
  • InputEventsDroppedBeforeApplicationStartTimeTotal är antalet händelser som släppts före jobbets starttid.

Ligger vi efter när det gäller att läsa data?

  • Bakåtloggade indatahändelser (totalt) anger hur många fler meddelanden som behöver läsas för Event Hubs- och Azure IoT Hub-indata. När det här talet är större än 0 innebär det att ditt jobb inte kan bearbeta data så snabbt som det kommer in. I det här fallet kan du behöva öka antalet strömningsenheter och/eller se till att jobbet kan parallelliseras. Du kan se mer information om detta på sidan för frågeparallellisering.

Få hjälp

Om du vill ha mer hjälp kan du prova vår frågesida för Microsoft Q&A för Azure Stream Analytics.

Nästa steg