Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Functions nabízí integrovanou integraci s Application Insights pro monitorování funkcí. Pro jazyky jiné než .NET a .NET Core jsou potřeba další pracovní procesy a rozšíření specifické pro jazyk, aby bylo možné získat úplné výhody distribuovaného trasování.
Application Insights shromažďuje data záznamů, výkonu a chyb a automaticky detekuje anomálie výkonu. Application Insights obsahuje výkonné analytické nástroje, které vám pomůžou diagnostikovat problémy a pochopit, jak se vaše funkce používají. Když máte přehled o datech aplikace, můžete průběžně zlepšit výkon a použitelnost. Application Insights můžete dokonce použít při vývoji projektu místní aplikace funkcí.
Požadovaná instrumentace Application Insights je integrovaná do Azure Functions. Jediné, co potřebujete, je platný připojovací řetězec pro připojení aplikace funkcí k prostředku Application Insights. Připojovací řetězec byste měli přidat do nastavení aplikace při vytvoření prostředku aplikace funkcí v Azure. Pokud vaše aplikace funkcí ještě nemá připojovací řetězec, můžete ji nastavit ručně. Další informace najdete v článcích Monitorování spuštění ve službě Azure Functions a Připojovací řetězce.
Poznámka:
Podpora příjmu instrumentačních klíčů skončí 31. března 2025. Příjem klíčů instrumentace bude dál fungovat, ale už nebudeme poskytovat aktualizace ani podporu pro tuto funkci. Přechod na připojovací řetězec, abyste mohli využívat nové funkce.
Pro seznam podporovaných scénářů automatické instrumentace viz Podporovaná prostředí, jazyky a poskytovatelé zdrojů.
Distribuované trasování pro aplikace v Javě
Poznámka:
Tato funkce dříve měla 8 až 9sekundovou dobu studeného spuštění, která byla snížena na méně než 1 sekundu. Pokud jste byli dřívějším uživatelem této funkce (například před únorem 2023), přečtěte si pomalé doby spuštění a aktualizujte aktuální verzi a využijte výhod nového rychlejšího spuštění.
Pokud chcete zobrazit více dat z aplikací Azure Functions založených na Javě, než se shromažďuje ve výchozím nastavení, povolte agenta Application Insights Java 3.x. Tento agent umožňuje Application Insights automaticky shromažďovat a korelovat závislosti, protokoly a metriky z oblíbených knihoven a sad SDK (Azure Software Development Kit). Tato telemetrie je navíc k telemetrii požadavku, kterou už Functions zachytily.
Pomocí mapy aplikace a ucelenějším zobrazením komplexních transakcí můžete lépe diagnostikovat problémy. Máte topologický přehled o interakci systémů s daty o průměrném výkonu a chybovosti. Máte také další data pro kompletní diagnostiku. Pomocí mapy aplikace můžete snadno najít hlavní příčinu problémů se spolehlivostí a kritickými body výkonu na základě jednotlivých požadavků.
Pro pokročilejší případy použití můžete upravit telemetrii přidáním rozsahů, aktualizací stavu rozsahu a přidáním atributů span. Vlastní telemetrii můžete také odesílat pomocí standardních rozhraní API.
Povolení distribuovaného trasování pro aplikace funkcí Java
V podokně Přehled aplikace funkcí přejděte na Application Insights. V části Úroveň kolekce zvolte Doporučené.
Konfigurace
Pokud chcete tuto funkci nakonfigurovat pro aplikaci Azure Function App, která není ve spotřebním plánu, přidejte v nastavení aplikace proměnné prostředí. Informace o dostupných konfiguracích najdete v tématu Možnosti konfigurace: Azure Monitor Application Insights pro Javu.
Pro Azure Functions v rámci plánu spotřeby jsou dostupné pouze možnosti konfigurace APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL a APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL. Pokud chcete provést další konfigurace funkce plánu spotřeby, podívejte se na vlastního distribuovaného agenta trasování pro Java Functions.
Nasazení vlastního agenta způsobí, že funkce plánu spotřeby budou mít delší dopad na studený start.
Řešení problému
Pokyny k řešení potíží najdete v tématu Problémy s aplikací v Javě spuštěnou ve službě Azure Functions.
Distribuované trasování pro aplikace funkcí Node.js
Pokud chcete zobrazit více dat z vaší Node.js aplikace běžící ve službě Azure Functions, než kolik je ve výchozím nastavení shromažďováno automatickou instrumentací, instrumentujte aplikaci ručně pomocí Azure Monitor OpenTelemetry Distro.
Distribuované trasování pro aplikace funkcí Pythonu
Pokud chcete shromažďovat telemetrii ze služeb, jako jsou Requests, urllib3, httpx, psycopg2 a další, použijte distribuci OpenTelemetry služby Azure Monitor. Sledované příchozí požadavky přicházející do vaší aplikace v Pythonu hostované ve službě Azure Functions nejsou automaticky korelovány s telemetrií, která se v ní sleduje. Korelaci trasování můžete ručně dosáhnout tak, že extrahujete TraceContext přímo takto:
import azure.functions as func
from azure.monitor.opentelemetry import configure_azure_monitor
from opentelemetry import trace
from opentelemetry.propagate import extract
# Configure Azure monitor collection telemetry pipeline
configure_azure_monitor()
def main(req: func.HttpRequest, context) -> func.HttpResponse:
...
# Store current TraceContext in dictionary format
carrier = {
"traceparent": context.trace_context.Traceparent,
"tracestate": context.trace_context.Tracestate,
}
tracer = trace.get_tracer(__name__)
# Start a span using the current context
with tracer.start_as_current_span(
"http_trigger_span",
context=extract(carrier),
):
...
Další kroky
- Přečtěte si další pokyny a informace o monitorování služby Azure Functions.
- Získejte přehled distribuovaného trasování.
- Podívejte se, co může mapa aplikace pro vaši firmu dělat.
- Přečtěte si o požadavcích a závislostech pro aplikace v Javě.
- Přečtěte si další informace o službě Azure Monitor a Application Insights.