Azure API Management integreren met Azure Application Insights

U kunt uw Azure-toepassing Insights eenvoudig integreren met Azure API Management. Azure-toepassing Insights is een extensible service voor webontwikkelaars die apps bouwen en beheren op meerdere platforms. In deze handleiding gaat u het volgende doen:

  • Doorloop elke stap van de integratie van Application Insights in API Management.
  • Meer informatie over strategieën voor het verminderen van de invloed op de prestaties API Management uw service-exemplaar.

Vereisten

U hebt een Azure API Management nodig. Maak er eerst een.

Een Application Insights maken

Als u Application Insights wilt gebruiken, maakt u een exemplaar van de Application Insights-service. Zie Application Insights resources op basis van werkruimten om een exemplaar te maken met behulp Azure Portal.

Een verbinding maken tussen Application Insights en API Management

  1. Navigeer naar uw Azure API Management-service-exemplaar in de Azure Portal.
  2. Selecteer Toepassing Insights in het menu aan de linkerkant.
  3. Selecteer + Toevoegen.
    Schermopname die laat zien waar u een nieuwe verbinding kunt toevoegen
  4. Selecteer het Application Insights-exemplaar dat u eerder hebt gemaakt en geef een korte beschrijving op.
  5. Als u beschikbaarheidsbewaking van uw API Management in Application Insights wilt inschakelen, selecteert u het selectievakje Beschikbaarheidsmonitor toevoegen.
    • Met deze instelling wordt regelmatig gevalideerd of API Management service-eindpunt reageert.
    • Resultaten worden weergegeven in het deelvenster Beschikbaarheid van het application Insights-exemplaar.
  6. Selecteer Maken.
  7. Controleer of de nieuwe Application Insights logboek met een instrumentatiesleutel nu wordt weergegeven in de lijst.
    Schermopname die laat zien waar u de zojuist gemaakte Application Insights logger met instrumentatiesleutel kunt weergeven

Notitie

Achter de schermen wordt een Logger-entiteit gemaakt in uw API Management-exemplaar, met de instrumentatiesleutel van de Application Insights-instantie.

Toepassingslog Insights voor uw API inschakelen

  1. Navigeer naar uw Azure API Management-service-exemplaar in de Azure Portal.

  2. Selecteer API's in het menu aan de linkerkant.

  3. Klik op uw API, in dit geval Demo Conference API. Selecteer een versie als deze is geconfigureerd.

  4. Ga naar het Instellingen tabblad in de bovenste balk.

  5. Schuif omlaag naar de sectie Diagnostische logboeken.
    App Insights logboekboek

  6. Schakel het selectievakje Inschakelen in.

  7. Selecteer uw gekoppelde logboeken in de vervolgkeuze selecteren doel.

  8. Voer 100 in als Sampling (%) en schakel het selectievakje Always log errors in.

  9. Laat de rest van de instellingen zoals ze zijn.

    Waarschuwing

    Als u de standaardwaarde Aantal nettoladings bytes naar logboekwaarde 0 overschrijven, kunnen de prestaties van uw API's aanzienlijk afnemen.

  10. Selecteer Opslaan.

  11. Achter de schermen wordt een diagnostische entiteit met de applicationinsights naam gemaakt op API-niveau.

Notitie

Aanvragen zijn geslaagd zodra API Management het volledige antwoord naar de client verzendt.

Naam van de instelling Waardetype Description
Inschakelen booleaans Hiermee geeft u op of logboekregistratie van deze API is ingeschakeld.
Doel Azure-toepassing Insights logboekboek Hiermee geeft Azure-toepassing Insights logger moet worden gebruikt.
Steekproeven (%) decimal Waarden tussen 0 en 100 (procent).
Hiermee geeft u het percentage aanvragen op dat wordt geregistreerd bij Application Insights. 0% steekproef betekent dat er geen aanvragen worden geregistreerd, terwijl 100% steekproef betekent dat alle aanvragen worden geregistreerd.
Gebruik deze instelling om de invloed op de prestaties bij het registreren van aanvragen voor Application Insights. Zie Gevolgen voor prestaties en logboeksampling.
Fouten altijd in een logboek booleaans Als deze instelling is geselecteerd, worden alle fouten vastgelegd in Application Insights, ongeacht de instelling Sampling.
IP-adres van logboekclient Als deze instelling is geselecteerd, wordt het IP-adres van de client voor API-aanvragen geregistreerd bij Application Insights.
Uitgebreidheid Hiermee geeft u het niveau van de verbossing. Alleen aangepaste traceringen met een hoger ernstniveau worden geregistreerd. Standaardinstelling: Informatie.
Correlatieprotocol Selecteer het protocol dat wordt gebruikt om telemetrie te correleren die door meerdere onderdelen is verzonden. Standaardinstelling: Verouderd
Zie Telemetriecorrelatie in Application Insights voor meer informatie.
Basisopties: Headers die moeten worden logboeken list Hiermee geeft u de headers op die worden geregistreerd bij Application Insights aanvragen en antwoorden. Standaardinstelling: er worden geen headers geregistreerd.
Basisopties: aantal nettoladings bytes dat moet worden logboeken geheel getal Hiermee geeft u op hoeveel eerste bytes van de body worden geregistreerd bij Application Insights aanvragen en antwoorden. Standaardinstelling: 0.
Geavanceerde opties: Front-end-aanvraag Hiermee geeft u op of en hoe front-end-aanvragen worden geregistreerd bij Application Insights. Front-end-aanvraag is een aanvraag die binnenkomende naar de Azure API Management service.
Geavanceerde opties: Front-end-antwoord Hiermee geeft u op of en hoe front-end-antwoorden worden geregistreerd bij Application Insights. Front-end-antwoord is een uitgaande reactie van de Azure API Management service.
Geavanceerde opties: Back-end-aanvraag Hiermee geeft u op of en hoe back-Insights. Back-end-aanvraag is een aanvraag die is uitgaande van de Azure API Management service.
Geavanceerde opties: Antwoord van back-end Hiermee geeft u op of en hoe back-en-antwoord worden geregistreerd bij Application Insights. Back-API Management is een antwoord dat binnenkomt bij de Azure API Management service.

Notitie

U kunt logboeken op verschillende niveaus opgeven:

  • Logboeken met één API.
  • Een logboek voor alle API's.

Beide opgeven:

  • Als ze verschillende logboeken zijn, worden beide gebruikt (multiplexing-logboeken).
  • Als het dezelfde logboeken met verschillende instellingen zijn, overschrijven de enkele API-logboeken (gedetailleerder niveau) de logboeken voor alle API's.

Welke gegevens worden toegevoegd aan Application Insights

Toepassings Insights ontvangt:

Telemetrie-item Description
Aanvraag Voor elke binnenkomende aanvraag:
  • front-end-aanvraag
  • front-end-antwoord
Afhankelijkheid Voor elke aanvraag die wordt doorgestuurd naar een back-service:
  • back-end-aanvraag
  • back-end-antwoord
Uitzondering Voor elke mislukte aanvraag:
  • Mislukt vanwege een gesloten clientverbinding
  • Er is een on-error-sectie van het API-beleid geactiveerd
  • Heeft een HTTP-antwoordstatuscode die overeenkomt met 4xx of 5xx
Tracering Als u een traceerbeleid configureert.
De instelling in het beleid moet gelijk zijn aan of groter zijn dan de severity trace instelling in de verbosity toepassingslog Insights logboekregistratie.

Aangepaste metrische gegevens uitzenden

U kunt aangepaste metrische gegevens uitzenden door het beleid te emit-metric configureren.

Als u Application Insights vooraf geaggregeerde metrische gegevens beschikbaar wilt maken in API Management, moet u handmatig aangepaste metrische gegevens inschakelen in de service.

  1. Gebruik het emit-metric beleid met de API maken of bijwerken.
  2. Voeg "metrics":true toe aan de nettolading, samen met eventuele andere eigenschappen.

Notitie

Zie Application Insights limits (Toepassingslimieten) voor informatie over de maximale grootte en het aantal metrische gegevens en gebeurtenissen per Application Insights-instantie.

Gevolgen voor prestaties en logboeksampling

Waarschuwing

Het vastleggen van alle gebeurtenissen kan ernstige gevolgen hebben voor de prestaties, afhankelijk van de snelheid van binnenkomende aanvragen.

Op basis van interne belastingstests heeft het inschakelen van de functie voor logboekregistratie geleid tot een doorvoervermindering van 40%-50% wanneer de aanvraagsnelheid 1000 aanvragen per seconde overschrijdt. Toepassingsanalyse Insights ontworpen om prestaties van toepassingen te beoordelen met behulp van statistische analyse. Het is niet:

  • Bedoeld als een controlesysteem.
  • Geschikt voor het vastleggen van elke afzonderlijke aanvraag voor API's met een hoog volume.

U kunt het aantal geregistreerde aanvragen bewerken door de instelling Sampling aan te passen. Een waarde van 100% betekent dat alle aanvragen worden geregistreerd, terwijl 0% geen logboekregistratie weerspiegelt.

Steekproeven helpen bij het verminderen van het telemetrievolume, waardoor aanzienlijke prestatievermindering wordt voorkomen, terwijl de voordelen van logboekregistratie nog steeds worden meebewerkt.

Als u prestatieproblemen wilt verbeteren, slaat u het volgende over:

  • Aanvraag- en antwoordheaders.
  • Logboekregistratie van de body.

Video

Volgende stappen