Azure Functions controlerenMonitor Azure Functions

Azure functions biedt ingebouwde integratie met Azure-toepassing inzichten om functies te bewaken.Azure Functions offers built-in integration with Azure Application Insights to monitor functions. Dit artikel bevat een overzicht van de bewakings mogelijkheden van Azure voor het bewaken van Azure Functions.This article provides an overview of the monitoring capabilities provided by Azure for monitoring Azure Functions.

Application Insights verzamelt logboek-, prestatie-en fout gegevens.Application Insights collects log, performance, and error data. Door automatisch prestatie afwijkingen te detecteren en krachtige analyse hulpprogramma's te gebruiken, kunt u problemen gemakkelijker vaststellen en beter begrijpen hoe uw functies worden gebruikt.By automatically detecting performance anomalies and featuring powerful analytics tools, you can more easily diagnose issues and better understand how your functions are used. Deze hulpprogram ma's zijn ontworpen om u te helpen de prestaties en bruikbaarheid van uw functies continu te verbeteren.These tools are designed to help you continuously improve performance and usability of your functions. U kunt zelfs Application Insights gebruiken tijdens de ontwikkeling van een lokale functie-app-project.You can even use Application Insights during local function app project development. Zie Wat is Application Insights?voor meer informatie.For more information, see What is Application Insights?.

Als Application Insights instrumentatie in Azure Functions is ingebouwd, hebt u een geldige instrumentatie sleutel nodig om uw functie-app te koppelen aan een Application Insights resource.As Application Insights instrumentation is built into Azure Functions, you need a valid instrumentation key to connect your function app to an Application Insights resource. De instrumentatie sleutel wordt toegevoegd aan de toepassings instellingen wanneer u de resource van de functie-app in azure maakt.The instrumentation key is added to your application settings as you create your function app resource in Azure. Als uw functie-app deze sleutel nog niet heeft, kunt u deze hand matig instellen.If your function app doesn't already have this key, you can set it manually.

Prijzen en limieten voor Application InsightsApplication Insights pricing and limits

U kunt Application Insights integratie met Azure Functions gratis uitproberen, met een dagelijkse limiet voor de hoeveelheid gegevens die gratis wordt verwerkt.You can try out Application Insights integration with Azure Functions for free featuring a daily limit to how much data is processed for free.

Als u toepassingen Insights tijdens de ontwikkeling inschakelt, kunt u deze limiet tijdens het testen aanraken.If you enable Applications Insights during development, you might hit this limit during testing. Azure biedt Portal-en e-mail meldingen wanneer u uw dagelijkse limiet nadert.Azure provides portal and email notifications when you're approaching your daily limit. Als u deze waarschuwingen mist en de limiet bereikt, worden nieuwe logboeken niet weer gegeven in Application Insights query's.If you miss those alerts and hit the limit, new logs won't appear in Application Insights queries. Houd rekening met de limiet om onnodige probleemoplossings tijd te voor komen.Be aware of the limit to avoid unnecessary troubleshooting time. Zie prijzen en gegevens volume beheren in Application Insightsvoor meer informatie.For more information, see Manage pricing and data volume in Application Insights.

Belangrijk

Application Insights heeft een bemonsterings functie waarmee u kunt voor komen dat er te veel telemetriegegevens worden geproduceerd tijdens voltooide uitvoeringen op momenten van piek belasting.Application Insights has a sampling feature that can protect you from producing too much telemetry data on completed executions at times of peak load. Steek proeven zijn standaard ingeschakeld.Sampling is enabled by default. Als er gegevens ontbreken, moet u mogelijk de sampling-instellingen aanpassen aan uw specifieke bewakings scenario.If you appear to be missing data, you might need to adjust the sampling settings to fit your particular monitoring scenario. Zie sampling configurerenvoor meer informatie.To learn more, see Configure sampling.

De volledige lijst met Application Insights functies die beschikbaar zijn voor uw functie-app, wordt beschreven in Application Insights voor Azure functions ondersteunde functies.The full list of Application Insights features available to your function app is detailed in Application Insights for Azure Functions supported features.

Integratie van Application InsightsApplication Insights integration

Normaal gesp roken maakt u een Application Insights-instantie wanneer u de functie-app maakt.Typically, you create an Application Insights instance when you create your function app. In dit geval is de instrumentatie sleutel die is vereist voor de integratie al ingesteld als een toepassings instelling met de naam APPINSIGHTS_INSTRUMENTATIONKEY.In this case, the instrumentation key required for the integration is already set as an application setting named APPINSIGHTS_INSTRUMENTATIONKEY. Als uw functie-app om een of andere reden geen instrumentatie sleutel heeft ingesteld, moet u Application Insights-integratie inschakelen.If for some reason your function app doesn't have the instrumentation key set, you need to enable Application Insights integration.

Telemetriegegevens verzamelenCollecting telemetry data

Als Application Insights-integratie is ingeschakeld, worden telemetriegegevens verzonden naar uw verbonden Application Insights-exemplaar.With Application Insights integration enabled, telemetry data is sent to your connected Application Insights instance. Deze gegevens bevatten logboeken die zijn gegenereerd door de host functions, traceringen die zijn geschreven vanuit uw functions-code en prestatie gegevens.This data includes logs generated by the Functions host, traces written from your functions code, and performance data.

Notitie

Naast gegevens van uw functies en de host van functies, kunt u ook gegevens verzamelen uit de controller van de functies schalen.In addition to data from your functions and the Functions host, you can also collect data from the Functions scale controller.

Logboek niveaus en categorieënLog levels and categories

Wanneer u traceringen van uw toepassings code schrijft, moet u een logboek niveau toewijzen aan de traceringen.When you write traces from your application code, you should assign a log level to the traces. Met de logboek niveaus kunt u de hoeveelheid gegevens die uit uw traceringen wordt verzameld, beperken.Log levels provide a way for you to limit the amount of data that is collected from your traces.

Er wordt een logboek niveau toegewezen aan elk logboek.A log level is assigned to every log. De waarde is een geheel getal dat het relatieve belang aangeeft:The value is an integer that indicates relative importance:

LogniveauLogLevel CodeCode DescriptionDescription
TraceringTrace 00 Logboeken die de meest gedetailleerde berichten bevatten.Logs that contain the most detailed messages. Deze berichten kunnen gevoelige toepassings gegevens bevatten.These messages may contain sensitive application data. Deze berichten zijn standaard uitgeschakeld en mogen nooit worden ingeschakeld in een productie omgeving.These messages are disabled by default and should never be enabled in a production environment.
Fouten opsporenDebug 11 Logboeken die tijdens de ontwikkeling worden gebruikt voor interactief onderzoek.Logs that are used for interactive investigation during development. Deze logboeken moeten voornamelijk informatie bevatten die nuttig is voor het opsporen van fouten en die geen lange termijn waarde heeft.These logs should primarily contain information useful for debugging and have no long-term value.
InformatieInformation 22 Logboeken die de algemene stroom van de toepassing volgen.Logs that track the general flow of the application. Deze logboeken moeten een lange termijn waarde hebben.These logs should have long-term value.
WaarschuwingWarning 33 Logboeken die een abnormale of onverwachte gebeurtenis in de toepassings stroom markeren, maar niet anders de uitvoering van de toepassing laten stoppen.Logs that highlight an abnormal or unexpected event in the application flow, but don't otherwise cause the application execution to stop.
FoutError 44 Logboeken die markeren wanneer de huidige uitvoerings stroom wordt gestopt vanwege een fout.Logs that highlight when the current flow of execution is stopped because of a failure. Deze fouten moeten duiden op een fout in de huidige activiteit, niet op toepassings niveau.These errors should indicate a failure in the current activity, not an application-wide failure.
KritiekCritical 55 Logboeken waarin een onherstelbare toepassing of systeem crash wordt beschreven of een fatale fout die onmiddellijke aandacht vereist.Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires immediate attention.
GeenNone 66 Hiermee schakelt u de logboek registratie voor de opgegeven categorie.Disables logging for the specified category.

De host.jsvan de bestands configuratie bepaalt hoeveel logboek registratie van een functie-app naar Application Insights verzendt.The host.json file configuration determines how much logging a functions app sends to Application Insights.

Zie logboek niveaus configurerenvoor meer informatie over logboek niveaus.To learn more about log levels, see Configure log levels.

Door vastgelegde items aan een categorie toe te wijzen, hebt u meer controle over telemetrie die is gegenereerd op basis van specifieke bronnen in uw functie-app.By assigning logged items to a category, you have more control over telemetry generated from specific sources in your function app. Categorieën maken het gemakkelijker om analyses uit te voeren via verzamelde gegevens.Categories make it easier to run analytics over collected data. Traceringen die zijn geschreven vanuit uw functie code worden toegewezen aan afzonderlijke categorieën op basis van de functie naam.Traces written from your function code are assigned to individual categories based on the function name. Zie Configure categories (categorieën configureren) voor meer informatie over categorieën.To learn more about categories, see Configure categories.

Aangepaste telemetriegegevensCustom telemetry data

In C# en Java scriptkunt u een Application Insights SDK gebruiken om aangepaste telemetriegegevens te schrijven.In C# and JavaScript, you can use an Application Insights SDK to write custom telemetry data.

AfhankelijkhedenDependencies

Met ingang van versie 2. x van functions verzamelt de runtime automatisch gegevens over afhankelijkheden voor bindingen die gebruikmaken van bepaalde client-Sdk's.Starting with version 2.x of Functions, the runtime automatically collects data on dependencies for bindings that use certain client SDKs. Application Insights verzamelt gegevens over de volgende afhankelijkheden:Application Insights collects data on the following dependencies:

  • Azure Cosmos DBAzure Cosmos DB
  • Azure Event HubsAzure Event Hubs
  • Azure Service BusAzure Service Bus
  • Azure Storage services (BLOB, wachtrij en tabel)Azure Storage services (Blob, Queue, and Table)

HTTP-aanvragen en database aanroepen die gebruikmaken van SqlClient worden ook vastgelegd.HTTP requests and database calls using SqlClient are also captured. Zie automatisch bijgehouden afhankelijkhedenvoor de volledige lijst met afhankelijkheden die door Application Insights worden ondersteund.For the complete list of dependencies supported by Application Insights, see automatically tracked dependencies.

Application Insights genereert een toepassings toewijzing van verzamelde afhankelijkheids gegevens.Application Insights generates an application map of collected dependency data. Hier volgt een voor beeld van een toepassings toewijzing van een HTTP-trigger functie met een uitvoer binding voor de wachtrij opslag.The following is an example of an application map of an HTTP trigger function with a Queue storage output binding.

Toepassings toewijzing met afhankelijkheid

Afhankelijkheden worden op het Information niveau geschreven.Dependencies are written at the Information level. Als u filtert op Warning of hoger, worden de afhankelijkheids gegevens niet weer gegeven.If you filter at Warning or above, you won't see the dependency data. Het automatisch verzamelen van afhankelijkheden gebeurt ook bij een niet-gebruikers bereik.Also, automatic collection of dependencies happens at a non-user scope. Als u afhankelijkheids gegevens wilt vastleggen, moet u ervoor zorgen dat het niveau is ingesteld op ten minste Information buiten het bereik van de gebruiker ( Function.<YOUR_FUNCTION_NAME>.User ) op uw host.To capture dependency data, make sure the level is set to at least Information outside the user scope (Function.<YOUR_FUNCTION_NAME>.User) in your host.

Naast het automatisch verzamelen van afhankelijkheids gegevens kunt u ook een van de taalspecifieke Application Insights Sdk's gebruiken om aangepaste afhankelijkheids informatie te schrijven naar de logboeken.In addition to automatic dependency data collection, you can also use one of the language-specific Application Insights SDKs to write custom dependency information to the logs. Zie een van de volgende taalspecifieke voor beelden voor een voor beeld van het schrijven van aangepaste afhankelijkheden:For an example how to write custom dependencies, see one of the following language-specific examples:

Schrijven naar LogboekenWriting to logs

De manier waarop u naar Logboeken schrijft en de Api's die u gebruikt, is afhankelijk van de taal van uw functie-app-project.The way that you write to logs and the APIs you use depend on the language of your function app project.
Raadpleeg de ontwikkelaars handleiding voor uw taal voor meer informatie over het schrijven van logboeken van uw functies.See the developer guide for your language to learn more about writing logs from your functions.

Gegevens analyserenAnalyze data

De gegevens die zijn verzameld uit de functie-app worden standaard opgeslagen in Application Insights.By default, the data collected from your function app is stored in Application Insights. In de Azure Portalbiedt Application Insights een uitgebreide set visualisaties van uw telemetriegegevens.In the Azure portal, Application Insights provides an extensive set of visualizations of your telemetry data. U kunt inzoomen op fouten logboeken en query's uitvoeren op gebeurtenissen en metrische gegevens.You can drill into error logs and query events and metrics. Zie Azure functions telemetrie in Application Insights analyserenvoor meer informatie, waaronder eenvoudige voor beelden van het weer geven en opvragen van uw verzamelde gegevens.To learn more, including basic examples of how to view and query your collected data, see Analyze Azure Functions telemetry in Application Insights.

Streaming-logboekenStreaming Logs

Tijdens het ontwikkelen van een toepassing wilt u vaak zien wat er in de buurt van real-time naar de logboeken wordt geschreven wanneer u in azure uitvoert.While developing an application, you often want to see what's being written to the logs in near real time when running in Azure.

Er zijn twee manieren om een stroom weer te geven van de logboek gegevens die worden gegenereerd door uw functie-uitvoeringen.There are two ways to view a stream of the log data being generated by your function executions.

  • Ingebouwde logboek streaming: met het app service-platform kunt u een stroom weer geven van de logboek bestanden van uw toepassing.Built-in log streaming: the App Service platform lets you view a stream of your application log files. Deze stroom is gelijk aan de uitvoer die wordt weer gegeven wanneer u tijdens de lokale ontwikkeling fouten opspoort in uw functies en wanneer u het tabblad testen in de portal gebruikt.This stream is equivalent to the output seen when you debug your functions during local development and when you use the Test tab in the portal. Alle gegevens op basis van het logboek worden weer gegeven.All log-based information is displayed. Zie Stream-logboekenvoor meer informatie.For more information, see Stream logs. Deze streaming-methode ondersteunt slechts één exemplaar en kan niet worden gebruikt met een app die wordt uitgevoerd op Linux in een verbruiks abonnement.This streaming method supports only a single instance, and can't be used with an app running on Linux in a Consumption plan.

  • Live Metrics stream: als uw functie-app is verbonden met Application Insights, kunt u de logboek gegevens en andere gegevens in bijna realtime weer geven in de Azure Portal met Live Metrics stream.Live Metrics Stream: when your function app is connected to Application Insights, you can view log data and other metrics in near real time in the Azure portal using Live Metrics Stream. Gebruik deze methode wanneer u functies bewaken die worden uitgevoerd op meerdere exemplaren of op Linux in een verbruiks abonnement.Use this method when monitoring functions running on multiple-instances or on Linux in a Consumption plan. Met deze methode worden voorbeeld gegevensgebruikt.This method uses sampled data.

Logboek stromen kunnen zowel in de portal als in de meeste lokale ontwikkel omgevingen worden weer gegeven.Log streams can be viewed both in the portal and in most local development environments. Zie streaming-uitvoerings logboeken inschakelen in azure functionsvoor meer informatie over het inschakelen van logboek stromen.To learn how to enable log streams, see Enable streaming execution logs in Azure Functions.

Diagnostische logboekenDiagnostic logs

Deze functie is beschikbaar als preview-versie.This feature is in preview.

Met Application Insights kunt u telemetriegegevens exporteren naar lange termijn opslag of andere Analysis Services.Application Insights lets you export telemetry data to long-term storage or other analysis services.

Omdat functies ook kunnen worden geïntegreerd met Azure Monitor, kunt u ook diagnostische instellingen gebruiken om telemetriegegevens te verzenden naar verschillende bestemmingen, waaronder Azure Monitor-Logboeken.Because Functions also integrates with Azure Monitor, you can also use diagnostic settings to send telemetry data to various destinations, including Azure Monitor logs. Zie Azure functions bewaken met Azure monitor-logboekenvoor meer informatie.To learn more, see Monitoring Azure Functions with Azure Monitor Logs.

Controller logboeken schalenScale controller logs

Deze functie is beschikbaar als preview-versie.This feature is in preview.

De Azure functions Scale-controller controleert exemplaren van de Azure functions host waarop uw app wordt uitgevoerd.The Azure Functions scale controller monitors instances of the Azure Functions host on which your app runs. Deze controller maakt beslissingen over het toevoegen of verwijderen van exemplaren op basis van de huidige prestaties.This controller makes decisions about when to add or remove instances based on current performance. U kunt de schaal controller logboeken naar Application Insights verzenden om beter inzicht te krijgen in de beslissingen die de schaal controller voor uw functie-app maakt.You can have the scale controller emit logs to Application Insights to better understand the decisions the scale controller is making for your function app. U kunt de gegenereerde logboeken ook opslaan in Blob Storage voor analyse door een andere service.You can also store the generated logs in Blob storage for analysis by another service.

Als u deze functie wilt inschakelen, voegt u een toepassings instelling toe SCALE_CONTROLLER_LOGGING_ENABLED met de naam van de instellingen van de functie-app.To enable this feature, you add an application setting named SCALE_CONTROLLER_LOGGING_ENABLED to your function app settings. Zie Logboeken voor schaal controller configurerenvoor meer informatie.To learn how, see Configure scale controller logs.

Problemen meldenReport issues

Als u een probleem wilt melden met Application Insights integratie in functions, of als u een suggestie of aanvraag wilt doen, maakt u een probleem in github.To report an issue with Application Insights integration in Functions, or to make a suggestion or request, create an issue in GitHub.

Volgende stappenNext steps

Zie de volgende resources voor meer informatie:For more information, see the following resources: