Application Insights-gegevens correleren met aangepaste gegevensbronnen

Application Insights verzamelt verschillende gegevenstypen: uitzonderingen, traceringen, paginaweergaven en andere. Hoewel dit vaak voldoende is om de prestaties, betrouwbaarheid en het gebruik van uw toepassing te onderzoeken, zijn er gevallen waarin het handig is om de gegevens die zijn opgeslagen in Application Insights te correleren met andere volledig aangepaste gegevenssets.

Enkele situaties waarin u mogelijk aangepaste gegevens wilt gebruiken, zijn:

  • Gegevensverrijking of opzoektabellen: vul bijvoorbeeld een servernaam aan met de eigenaar van de server en de lablocatie waarin deze zich bevindt
  • Correlatie met niet-Application Insights-gegevensbronnen: bijvoorbeeld gegevens over een aankoop in een webstore correleren met informatie van uw inkoopafhandelingsservice om te bepalen hoe nauwkeurig uw geschatte verzendtijd was
  • Volledig aangepaste gegevens: veel van onze klanten zijn dol op de querytaal en prestaties van het Azure Monitor-logboekplatform dat ondersteuning biedt voor Application Insights, en willen deze gebruiken om query's uit te voeren op gegevens die helemaal niet zijn gerelateerd aan Application Insights. Bijvoorbeeld om de prestaties van het zonnepaneel bij te houden als onderdeel van een slimme huisinstallatie zoals hier wordt beschreven.

Aangepaste gegevens correleren met Application Insights-gegevens

Omdat Application Insights wordt ondersteund door het krachtige Azure Monitor-logboekplatform, kunnen we de volledige kracht van Azure Monitor gebruiken om de gegevens op te nemen. Vervolgens schrijven we query's met behulp van de operator Join, waarmee deze aangepaste gegevens worden gecorreleerd met de gegevens die voor ons beschikbaar zijn in Azure Monitor-logboeken.

Gegevens opnemen

In deze sectie bekijken we hoe u uw gegevens in Azure Monitor-logboeken kunt ophalen.

Als u nog geen werkruimte hebt, richt u een nieuwe Log Analytics-werkruimte in door deze instructies te volgen door de stap 'Een werkruimte maken' op te geven.

Om te beginnen met het verzenden van logboekgegevens naar Azure Monitor. Er zijn verschillende opties:

  • Voor een synchroon mechanisme kunt u de gegevensverzamelaar-API rechtstreeks aanroepen of onze Logic App-connector gebruiken. Zoek naar 'Azure Log Analytics' en kies de optie 'Gegevens verzenden':

    Schermafbeelding kiezen en actie

  • Voor een asynchrone optie gebruikt u de Gegevensverzamelaar-API om een verwerkingspijplijn te bouwen. Zie dit artikel voor meer informatie.

Correleren van gegevens

Application Insights is gebaseerd op het Azure Monitor-logboekplatform. Daarom kunnen we cross-resource joins gebruiken om alle gegevens die we in Azure Monitor hebben opgenomen te correleren met onze Application Insights-gegevens.

We kunnen bijvoorbeeld onze labinventaris en -locaties opnemen in een tabel met de naam 'LabLocations_CL' in een Log Analytics-werkruimte met de naam 'myLA'. Als we vervolgens onze aanvragen willen controleren die worden bijgehouden in de Application Insights-app 'myAI' en de computernamen die de aanvragen hebben verwerkt, willen correleren met de locaties van deze machines die zijn opgeslagen in de eerder genoemde aangepaste tabel, kunnen we de volgende query uitvoeren vanuit de Application Insights- of Azure Monitor-context:

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