Så integrerar du Azure API Management med Azure Application Insights

Du kan enkelt integrera Azure Application Insights med Azure API Management. Azure Application Insights är en utökningsbar tjänst för webbutvecklare som skapar och hanterar appar på flera plattformar. I den här guiden kommer du att:

  • Gå igenom varje steg i Application Insights integrering i API Management.
  • Lär dig strategier för att minska prestandapåverkan på din API Management-tjänstinstans.

Förutsättningar

Du behöver en Azure API Management instans. Skapa en först.

Skapa en application Insights instans

Om du vill Insights programtjänst skapar du en instans av application Insights tjänsten. Information om hur du skapar en instans med Azure Portal finns i Arbetsytebaserad programhantering Insights resurser.

Skapa en anslutning mellan Insights och API Management

  1. Gå till din Azure API Management-tjänstinstans i Azure Portal.
  2. Välj Program Insights på menyn till vänster.
  3. Välj + Lägg till.
    Skärmbild som visar var du lägger till en ny anslutning
  4. Välj den programinstans Insights du skapade tidigare och ange en kort beskrivning.
  5. Om du vill aktivera tillgänglighetsövervakning API Management instansen i Application Insights markerar du kryssrutan Lägg till tillgänglighetsövervakare.
    • Den här inställningen verifierar regelbundet API Management tjänstslutpunkten svarar.
    • Resultaten visas i fönstret Tillgänglighet för programinstansen Insights instansen.
  6. Välj Skapa.
  7. Kontrollera att den nya Insights loggaren med en instrumentationsnyckel nu visas i listan.
    Skärmbild som visar var du kan visa den nyligen skapade Insights loggaren med instrumentationsnyckeln

Anteckning

I bakgrunden skapas en loggningsentitet i din API Management instans som innehåller instrumenteringsnyckeln för Application Insights-instansen.

Aktivera loggning Insights application-program för ditt API

  1. Gå till din Azure API Management-tjänstinstans i Azure Portal.

  2. Välj API:er i menyn till vänster.

  3. Klicka på ditt API, i det här fallet Demo Conference API. Om det är konfigurerat väljer du en version.

  4. Gå till Inställningar från det översta fältet.

  5. Rulla ned till avsnittet Diagnostikloggar.
    Apploggare Insights app

  6. Markera kryssrutan Aktivera.

  7. Välj den anslutna loggaren i listrutan Mål.

  8. Ange 100 som Sampling (%) och markera kryssrutan Logga alltid fel.

  9. Lämna resten av inställningarna som de är.

    Varning

    Om du åsidosätter standardvärdet Antal nyttolastbyte till loggvärdet 0 kan prestandan för dina API:er försämras avsevärt.

  10. Välj Spara.

  11. I bakgrunden skapas en diagnostikentitet applicationinsights med namnet på API-nivå.

Anteckning

Begäranden lyckas när API Management skickar hela svaret till klienten.

Inställningsnamn Värdetyp Description
Aktivera boolean Anger om loggning av det här API:et är aktiverat.
Mål Azure Application Insights loggare Anger Azure Application Insights loggare som ska användas.
Sampling (%) decimal Värden från 0 till 100 (procent).
Anger procentandelen begäranden som ska loggas till Application Insights. 0 % sampling innebär att noll begäranden loggas, medan 100 % sampling innebär att alla begäranden loggas.
Använd den här inställningen för att minska effekten på prestanda vid loggning av begäranden till Application Insights. Se Prestandakonsekvenser och loggsampling.
Logga alltid fel boolean Om den här inställningen är markerad loggas alla fel i Application Insights, oavsett inställningen Sampling.
Loggklientens IP-adress Om den här inställningen är vald loggas klientens IP-adress för API-begäranden till Application Insights.
Utförlighet Anger den utförliga nivån. Endast anpassade spårningar med högre allvarlighetsgrad loggas. Standard: Information.
Korrelationsprotokoll Välj protokoll som används för att korrelera telemetri som skickas av flera komponenter. Standard: Äldre
Mer information finns i Telemetrikorrelation i Application Insights.
Grundläggande alternativ: Rubriker att logga lista Anger de huvuden som ska loggas till Application Insights för begäranden och svar. Standard: Inga huvuden loggas.
Grundläggande alternativ: Antal nyttolastbyte som ska loggas heltal Anger hur många första byte i brödtexten som loggas till Application Insights för begäranden och svar. Standard: 0.
Avancerade alternativ: Begäran i frontend Anger om och hur begäranden i frontend ska loggas på Application Insights. Frontend-begäran är en begäran som inkommande till Azure API Management-tjänsten.
Avancerade alternativ: Svar från frontend Anger om och hur frontend-svar ska loggas till Application Insights. Frontend-svaret är ett svar som är utgående från Azure API Management tjänsten.
Avancerade alternativ: Begäran från backend Anger om och hur backend-begäranden loggas till Application Insights. Serverbegäran är en begäran som är utgående från Azure API Management-tjänsten.
Avancerade alternativ: Svar från backend Anger om och hur backend-svar ska loggas till Application Insights. Serversvar är ett svar som inkommande till Azure API Management tjänsten.

Anteckning

Du kan ange loggare på olika nivåer:

  • Enskild API-loggning.
  • En loggning för alla API:er.

Ange båda:

  • Om de är olika loggare används båda (multiplexeringsloggar).
  • Om de är samma loggare med olika inställningar åsidosätter den enskilda API-loggaren (mer detaljerad nivå) den för alla API:er.

Vilka data läggs till i Application Insights

Program Insights tar emot:

Telemetriobjekt Description
Förfrågan För varje inkommande begäran:
  • frontend-begäran
  • frontend-svar
Beroende För varje begäran som vidarebefordras till en backend-tjänst:
  • backend-begäran
  • svar från backend
Undantag För varje misslyckad begäran:
  • Misslyckades på grund av en stängd klientanslutning
  • Utlöste ett avsnitt om fel i API-principerna
  • Har en HTTP-statuskod för svar som matchar 4xx eller 5xx
Spårning Om du konfigurerar en spårningsprincip.
Inställningen severity i principen måste vara lika med eller större än inställningen i Application Insights trace verbosity logging.

Generera anpassade mått

Du kan generera anpassade mått genom att konfigurera emit-metric principen.

Om du Insights tillgängliga föraggregeringsmått i API Management måste du manuellt aktivera anpassade mått i tjänsten.

  1. Använd principen emit-metric med API:et För att skapa eller uppdatera.
  2. Lägg "metrics":true till i nyttolasten, tillsammans med andra egenskaper.

Anteckning

Se Programbegränsningar Insights information om maximal storlek och antal mått och händelser per program Insights instans.

Prestandakonsekvenser och loggsampling

Varning

Loggning av alla händelser kan ha allvarliga prestandaeffekter, beroende på frekvensen för inkommande begäranden.

Baserat på interna belastningstester orsakade aktivering av loggningsfunktionen en minskning av dataflödet på 40–50 % när förfrågningsfrekvensen överskred 1 000 begäranden per sekund. Program Insights har utformats för att utvärdera programprestanda med hjälp av statistisk analys. Det är inte:

  • Avsett att vara ett granskningssystem.
  • Passar för loggning av varje enskild begäran för API:er med stora volymer.

Du kan ändra antalet loggade begäranden genom att justera inställningen Sampling. Värdet 100 % innebär att alla begäranden loggas, medan 0 % inte återspeglar någon loggning.

Sampling bidrar till att minska telemetrivolymen, vilket effektivt förhindrar betydande prestandaförsämring samtidigt som fördelarna med loggning fortfarande finns.

Om du vill förbättra prestandaproblem kan du hoppa över:

  • Begärande- och svarshuvuden.
  • Loggning av brödtext.

Video

Nästa steg