Send email when an application error occurs in Azure web app - azure

Use case is as soon as an error occurs in application, support team should receive a notification.
Looking for an out of box solution in Azure.
Current system configured for Diagnostic logs with below settings:
Application Logging (Blob) - On
Logging Level - Error
Retention period - X days.

As far as I know, azure app service has Alerts feature. By using this feature, you could define which metrics will send the email.
About how to use it, you could refer to below images:
1.Find the alters in your from azure portal app service.
2.Click add alerts
3.Define alert rule

Related

Azure - Application Event Log Alerts

How to create email alerts for Application Event Logs. We can see the event logs from the Diagnostic Tools of the app service but not sure about the email alerts. Any help is much appreciated.
Thanks,
Saurabh
How to create email alerts for Application Event Logs?
Yes, we can create email alerts for Azure app service using application Insights by following the below steps:
After creating Application Insights.
Goto Alerts under Monitoring then click on create and select an alert rule.
After creating the alert rule click on complete.
In alert rules add the condition according to your requirement. In my case i have given condition as Whenever the average failed locations is greater than or equal to 2.
Now we can fire the alert based on the requirement.
You can see whether the alert triggered/fired or not in the below screenshot:
You will receive an email alert to the email ID which you have configured in the above steps like below screenshot:
References:-
Send alerts from Azure Application Insights - Azure Monitor | Microsoft Docs.
Monitor application via Application Insights and send alert.

Error setting up Azure Function within Azure Resource under Log Analytics Workspace

I have error setting up Azure Function within Azure Resource under Log Analytics Workspace.
When only AllMetrics is checked, it works. But whenever FunctionExecutionLogs is checked, error occurs like below:
1.Nav to your log analytics workspace in azure portal.
2.in the left blade, select Workspace Data Sources -> Azure Resources, then click your azure function there.
Check FunctionExecutionLogs and error occurs.
Any idea?
Setup data used by Azure Log Analytics with Azure Fucntions
Update
We would like to understand more on Application InSights and Log Analytics, and use the best tool for us.
'FunctionExecutionLogs' for azure function/web app in azure log analytics will not be supported any more.
So application insights is a better choice for monitoring azure function.
The following is the feedback from MS log analytics team:
Several months ago, App Service/Functions team on-boarded to Azure Monitor diagnostic logs but they don't actually emit log data.
Basically there are thousands of diagnostic setting registrations which are no-ops and don't actually do anything.
Recently in the past few weeks, we've been in discussion with App Service to release this feature in the next few weeks as a private preview feature.
This unfortunately is a breaking change as only private preview customers can turn on diagnostic logs for App Service.
Please note -- There is no actual customer impact as whatever customers turned on previously never worked to begin with.
To fix the deployment script, we should ask customers to update their template to only turn on metric export and not logs --- this won't have any actual customer impact.
So, from our Log Analytics side, this is a scenario we are not support from our Log Analytics team which has declared by our Production Group any more.
I would recommend using Application insight with Azure Functions. Application insights has deeper integration with Azure Functions and is the recommended way of setting up Analytics for your app. Is there a specific reason you want to setup through Log Analytics instead of Application Insights?
Now, almost 2 years later, Classic Application Insights is deprecated (apparently it will be retired around Feb '24). The recommended way to set this up is to
Create a log analytics workspace
Create an application insights resource that has it's workspace id set to the LA workspace created in the previous step
Your functions will still be configured to log to app insights but that has its datastorage now backed by the LA workspace instead of bringing its own.
You can migrate existing app insights to link to a LA workspace - apparently this migration is not reversible but it should be transparent from your function point of view (i.e. the app insights connection doesn't change). Details can be found here: https://learn.microsoft.com/en-nz/azure/azure-monitor/app/convert-classic-resource

Monitoring tools for Azure application error logs

Are there any opensource/commercial tools available which monitors and notifies the team about the errors logged in the Azure webapp error logs.
Edit: require an email as soon as error logs.
You can use Application Insights.
You can log and monitor web server diagnostics and application diagnostics.
Application diagnostics
Application diagnostics allows you to capture information produced by a web application. ASP.NET applications can use the System.Diagnostics.Trace class to log information to the application diagnostics log. For example:
System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
To enable diagnostics in the Azure Portal, go to the blade for your web app and click Settings > Diagnostics logs.
When you enable application diagnostics you also choose the Level. This setting allows you to filter the information captured to informational, warning or error information. Setting this to verbose will log all information produced by the application.
Alerts
In Application Insights, you can create custom metric alerts. You could set up an alert on the Metric 'Exception Rate' and set up an email address as a notification point.
Articles
Here is a good article on this topic on how to use Application Insights and Trace listeners.

AzureWebApp: Monitor Application Logs

I'm building an Azure web-app and if there are certain unexpected errors, I want to be able to bubble it up in the Azure Dashboard / add alerts.
Any System.Diagnostics.Trace.TraceError() messages are logged to the ApplicationLog. Is there a way to add alert/monitoring-graphs for these in Azure Portal?
I think and most flexible option for configuring alerts on Web Apps is enabling the Application insights have the App Insight be one of your event sources:
https://azure.microsoft.com/en-us/documentation/articles/app-insights-search-diagnostic-logs/
Once you have the Application Insight setup then you can easily set any kind of alerts based on the diagnostics that are collected:
https://azure.microsoft.com/en-gb/documentation/articles/app-insights-alerts/
Aram's links below really helps. Please read them.
To Get this working:
Add the ApplicationInsights to your project.
(Optional) If you want log traces (System.Diagnostics.Trace) to be searchable on insights, add Microsoft.ApplicationInsights.TraceListener nuget to your project.
Use telemetryClient.TrackException() to place a server exception
when you hit a critical error.
Add an alert on Azure portal to check for ServerExceptions within the given time window.

Azure automated email notifications of errors in ApplicationLog

I have an Azure cloud application / Webrole and Worker role. Our company has the need to receive automated logs via email for SOX compliance reasons.
Is there anything out of the box with Azure which allows me to automatically email / notify the support team of various log activities or even email the log entries themselves automatically? Or, do I have to write something to do this?
For example: In the "Audit Logs" anytime there is a Level of Warning or above, email support team.
A couple good options:
Most Cloud Service logs get written to Azure Storage - the Azure WebJobs SDK is perfect for creating a simple WebJob that can monitor the BLOBs and send you applicable notifications.
Application Insights has easily configurable alerts that can monitor and notify you of issues with your application.

Resources