Dela via


Korrelera Application Insights-data med anpassade datakällor

Application Insights samlar in flera olika datatyper: undantag, spårningar, sidvisningar med mera. Detta är ofta tillräckligt för att undersöka programmets prestanda, tillförlitlighet och användning, men det finns fall då det är användbart att korrelera data som lagras i Application Insights med andra helt anpassade datauppsättningar.

Några situationer där du kanske vill ha anpassade data är:

  • Databeriknings- eller uppslagstabeller: till exempel komplettera ett servernamn med serverns ägare och den labbplats där den finns
  • Korrelation med datakällor som inte är Application Insights: till exempel korrelera data om ett köp i ett webblager med information från din inköpstjänst för att fastställa hur exakta dina uppskattningar av leveranstiden var
  • Helt anpassade data: många av våra kunder gillar frågespråket och prestandan för Azure Monitor-loggplattformen som stöder Application Insights och vill använda den för att fråga efter data som inte alls är relaterade till Application Insights. Till exempel för att spåra solpanelens prestanda som en del av en smart heminstallation enligt beskrivningen här.

Så här korrelerar du anpassade data med Application Insights-data

Eftersom Application Insights backas upp av den kraftfulla Azure Monitor-loggplattformen kan vi använda den fulla kraften i Azure Monitor för att mata in data. Sedan skriver vi frågor med operatorn "join" som korrelerar dessa anpassade data med de data som är tillgängliga för oss i Azure Monitor-loggarna.

Mata in data

I det här avsnittet går vi igenom hur du hämtar dina data till Azure Monitor-loggar.

Om du inte redan har en, etablerar du en ny Log Analytics-arbetsyta genom att följa dessa instruktioner genom och inkludera steget "skapa en arbetsyta".

Börja skicka loggdata till Azure Monitor. Det finns flera alternativ:

  • För en synkron mekanism kan du antingen anropa API:et för datainsamlaren direkt eller använda vår Logic App-anslutningsapp – leta bara efter "Azure Log Analytics" och välja alternativet "Skicka data":

    Skärmbild av välj och åtgärd

  • För ett asynkront alternativ använder du API:et för datainsamlare för att skapa en bearbetningspipeline. Mer information finns i den här artikeln .

Korrelera data

Application Insights baseras på Azure Monitor-loggplattformen. Vi kan därför använda resursöverskridande kopplingar för att korrelera alla data som vi har matat in i Azure Monitor med våra Application Insights-data.

Vi kan till exempel mata in vår labbinventering och våra platser i en tabell med namnet "LabLocations_CL" på en Log Analytics-arbetsyta med namnet "myLA". Om vi sedan vill granska våra begäranden som spåras i Application Insights-appen med namnet "myAI" och korrelera datornamnen som hanterade begäranden till platserna för de datorer som lagras i den tidigare nämnda anpassade tabellen, kan vi köra följande fråga från antingen Application Insights- eller Azure Monitor-kontexten:

app('myAI').requests
| join kind= leftouter (
    workspace('myLA').LabLocations_CL
    | project Computer_S, Owner_S, Lab_S
) on $left.cloud_RoleInstance == $right.Computer