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
- V Azure Portal přejděte do své instance služby Azure API Management .
- v nabídce vlevo vyberte Application Insights .
- Vyberte + Přidat.
- vyberte instanci Application Insights , kterou jste vytvořili dříve, a zadejte krátký popis.
- 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.
- Vyberte Vytvořit.
- ověřte, že se v seznamu objeví nový protokolovací nástroj Application Insights s klíčem 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
V Azure Portal přejděte do své instance služby Azure API Management .
V nabídce na levé straně vyberte Rozhraní API.
V tomto případě ukázkové konferenční rozhraní API klikněte na své rozhraní API. V případě konfigurace vyberte verzi.
přejít na kartu Nastavení v horním panelu.
Přejděte dolů do části diagnostické protokoly .
Zaškrtněte políčko Povolit .
V rozevíracím seznamu cíl vyberte připojeného protokolovacího nástroje.
Zadejte 100 jako vzorkování (%) a zaškrtněte políčko vždy protokolovat chyby .
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.
Vyberte Uložit.
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:
|
| Závislost | Pro každý požadavek předaný back-end službě:
|
| Výjimka | Pro všechny neúspěšné žádosti:
|
| 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ě.
- Použijte
emit-metriczásadu s rozhraním API pro vytvoření nebo aktualizaci. - Přidejte
"metrics":truedo 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
- přečtěte si další informace o Azure Application Insights.
- Zvažte protokolování pomocí Event Hubs Azure.