Search code examples
azureazure-functionsazure-application-insights

Application Insights Down - Impact on the Application


We use Application insights from Azure Functions, currently documenting outage scenarios for different Azure Components. What'll be the impact on Functions if Application Insights service goes down? I hope it doesn't impact Function executions and they continue to operate as normal.

Also when it comes back online, let's say half an hour after the outage, would all the logs done during that time will be lost?


Solution

  • What'll be the impact on Functions if Application Insights service goes down? I hope it doesn't impact Function executions and they continue to operate as normal.

    It does not. Functions will continue to run as usual.Telemetry submitting is done in the background anyway.

    Also when it comes back online, let's say half an hour after the outage, would all the logs done during that time will be lost?

    It depends on what Channel is configured. The Application Insights .NET and .NET Core SDKs ship with two built-in channels:

    • InMemoryChannel: A lightweight channel that buffers items in memory until they're sent. Items are buffered in memory and flushed once every 30 seconds, or whenever 500 items are buffered. This channel offers minimal reliability guarantees because it doesn't retry sending telemetry after a failure. This channel also doesn't keep items on disk, so any unsent items are lost permanently upon application shutdown (graceful or not). This channel implements a Flush() method that can be used to force-flush any in-memory telemetry items synchronously.
    • ServerTelemetryChannel: A more advanced channel that has retry policies and the capability to store data on a local disk. This channel retries sending telemetry if transient errors occur. This channel also uses local disk storage to keep items on disk during network outages or high telemetry volumes.

    When using the ServerTelemetryChannel you may need to configure the location where telemetry will be stored during the downtime. See also the docs regarding offline storage