Postup při integraci služby Azure API Management s Azure Application Insights

azure Application Insights můžete snadno integrovat s azure API Management. Azure Application Insights je rozšiřitelná služba pro webové vývojáře, která vytváří a spravuje aplikace na různých platformách. V této příručce budete:

  • projděte si všechny kroky Application Insights integrace do API Management.
  • Naučte se strategie pro snížení dopadu na výkon vaší instance služby API Management.

Požadavky

Potřebujete instanci Azure API Management. Vytvořte si ji jako první.

vytvoření instance Application Insights

chcete-li použít Application Insights, vytvořte instanci služby Application Insights. chcete-li vytvořit instanci pomocí Azure Portal, přečtěte si téma prostředky Application Insights na základě pracovního prostoru.

vytvoření připojení mezi Application Insights a API Management

  1. V Azure Portal přejděte do své instance služby Azure API Management .
  2. v nabídce vlevo vyberte Application Insights .
  3. Vyberte + Přidat.
    Snímek obrazovky, který ukazuje, kde přidat nové připojení
  4. vyberte instanci Application Insights , kterou jste vytvořili dříve, a zadejte krátký popis.
  5. pokud chcete povolit monitorování dostupnosti instance API Management v Application Insights, zaškrtněte políčko přidat monitorování dostupnosti .
    • Toto nastavení pravidelně ověřuje, zda koncový bod služby API Management reaguje.
    • výsledky se zobrazí v podokně dostupnost instance Application Insights.
  6. Vyberte Vytvořit.
  7. ověřte, že se v seznamu objeví nový protokolovací nástroj Application Insights s klíčem instrumentace.
    snímek obrazovky, který ukazuje, kde zobrazit nově vytvořený protokolovací nástroj Application Insights pomocí klíče instrumentace

Poznámka

na pozadí je ve vaší instanci API Management vytvořena entita protokolovacího nástroje, která obsahuje klíč instrumentace instance Application Insights.

povolení protokolování Application Insights pro vaše rozhraní API

  1. V Azure Portal přejděte do své instance služby Azure API Management .

  2. V nabídce na levé straně vyberte Rozhraní API.

  3. V tomto případě ukázkové konferenční rozhraní API klikněte na své rozhraní API. V případě konfigurace vyberte verzi.

  4. přejít na kartu Nastavení v horním panelu.

  5. Přejděte dolů do části diagnostické protokoly .
    protokolovací nástroj aplikace Přehledy

  6. Zaškrtněte políčko Povolit .

  7. V rozevíracím seznamu cíl vyberte připojeného protokolovacího nástroje.

  8. Zadejte 100 jako vzorkování (%) a zaškrtněte políčko vždy protokolovat chyby .

  9. Zbývající nastavení nechte beze změny.

    Upozornění

    Přepsání výchozího počtu bajtů datové části na hodnotu protokolu 0 může významně snížit výkon vašich rozhraní API.

  10. Vyberte Uložit.

  11. Na pozadí se na applicationinsights úrovni rozhraní API vytvoří diagnostická entita s názvem.

Poznámka

Žádosti jsou úspěšné, jakmile API Management odešle celou odpověď klientovi.

Název nastavení Typ hodnoty Description
Povolit boolean Určuje, jestli je povolené protokolování tohoto rozhraní API.
Cíl protokolovací nástroj Azure Application Insights určuje protokolovací nástroj Azure Application Insights, který se má použít.
Vzorkování (%) decimal Hodnoty od 0 do 100 (procenta).
určuje procento požadavků, které budou protokolovány Application Insights. 0% vzorkování znamená nulový počet požadavků, zatímco 100% vzorkování znamená, že jsou všechny požadavky protokolovány.
toto nastavení použijte, pokud chcete snížit výkon při protokolování požadavků na Application Insights. Podívejte se na výkonnostní důsledky a vzorkování protokolů.
Vždycky protokolovat chyby boolean pokud je toto nastavení vybrané, všechna selhání se budou protokolovat Application Insights bez ohledu na nastavení vzorkování .
Protokolovat IP adresu klienta pokud je toto nastavení vybrané, IP adresa klienta pro požadavky rozhraní API se zaprotokoluje Application Insights.
Podrobnosti Určuje úroveň podrobností. Budou protokolována pouze vlastní trasování s vyšší úrovní závažnosti. Výchozí: informace.
Korelační protokol Vyberte protokol, který se používá ke korelaci telemetrie odesílané více komponentami. Výchozí: starší verze
informace najdete v tématu korelace telemetrie v Application Insights.
Základní možnosti: hlavičky, které se mají protokolovat list určuje hlavičky, které se budou protokolovat Application Insights pro žádosti a odpovědi. Výchozí: nejsou protokolována žádná záhlaví.
Základní možnosti: počet bajtů datové části, které se mají protokolovat integer určuje, kolik prvních bajtů textu je protokolováno, aby Application Insights pro žádosti a odpovědi. Výchozí hodnota: 0.
Rozšířené možnosti: front-end požadavek určuje, zda a jak budou do Application Insights protokolovány požadavky front-end . Požadavek front-end je požadavek příchozí na službu Azure API Management.
Rozšířené možnosti: front-endové odpovědi určuje, jestli a jak se mají protokolovat odpovědi na front-endu Application Insights. Front-end odpověď je odpověď odchozí ze služby Azure API Management.
Rozšířené možnosti: back-end požadavek určuje, jestli se budou do Application Insights protokolovat požadavky back-endu . Požadavek back-end je požadavek, který je odchozí ze služby Azure API Management.
Rozšířené možnosti: odpověď back-endu určuje, jestli se mají do Application Insights protokolovat odpovědi back-endu . Odpověď back-endu je odpověď příchozí do služby Azure API Management.

Poznámka

Protokolovací nástroje můžete zadat na různých úrovních:

  • Jeden protokolovací nástroj rozhraní API.
  • Protokolovací nástroj pro všechna rozhraní API.

Zadání obou:

  • Pokud se jedná o různé protokolovací nástroje, použijí se obě z nich (multiplexující protokoly).
  • Pokud se jedná o stejné protokolovací nástroje s různými nastaveními, bude jeden protokolovací nástroj rozhraní API (podrobnější úroveň) pro všechna rozhraní API přepsat.

jaká data jsou přidaná do Application Insights

Application Insights přijímá:

Položka telemetrie Description
Žádost Pro každý příchozí požadavek:
  • požadavek front-endu
  • front-endové odpovědi
Závislost Pro každý požadavek předaný back-end službě:
  • požadavek back-endu
  • odpověď back-endu
Výjimka Pro všechny neúspěšné žádosti:
  • Nepovedlo se kvůli uzavřenému připojení klienta.
  • Aktivoval se oddíl On-Error zásad rozhraní API.
  • Má stavový kód odpovědi HTTP, který odpovídá 4xx nebo 5xx
Trasování Pokud nakonfigurujete zásady trasování .
severitynastavení v trace zásadách musí být rovno nebo větší než verbosity nastavení v protokolování Application Insights.

Generovat vlastní metriky

Vlastní metriky můžete vygenerovat tak, že nakonfigurujete emit-metric zásady.

pokud chcete v API Management zpřístupnit Application Insights předem agregované metriky, budete muset ručně povolit vlastní metriky ve službě.

  1. Použijte emit-metric zásadu s rozhraním API pro vytvoření nebo aktualizaci.
  2. Přidejte "metrics":true do datové části spolu s dalšími vlastnostmi.

Poznámka

informace o maximální velikosti a počtu metrik a událostí na instanci Application Insights najdete v části Application Insights omezení .

Důsledky výkonu a vzorkování protokolů

Upozornění

Protokolování všech událostí může mít vážný dopad na výkon v závislosti na rychlosti příchozích požadavků.

Na základě interních zátěžových testů způsobila funkce protokolování 40% až 50% snížení propustnosti, když frekvence požadavků překročí 1 000 požadavků za sekundu. Application Insights je navržená tak, aby posoudila funkční způsobilost aplikací pomocí statistické analýzy. Není to:

  • Má být systém auditu.
  • Vhodné pro protokolování jednotlivých požadavků pro rozhraní API s vysokým objemem.

Počet protokolovaných požadavků můžete manipulovat úpravou nastavení vzorkování. Hodnota 100% znamená, že všechny požadavky jsou protokolovány, zatímco 0% neodráží protokolování.

Vzorkování pomáhá snižovat objem telemetrie a efektivně brání výraznému snížení výkonu a stále přináší výhody protokolování.

Chcete-li zlepšit problémy s výkonem, přeskočte:

  • Hlavičky požadavků a odpovědí.
  • Protokolování textu.

Video

Další kroky