Поиск  
Always will be ready notify the world about expectations as easy as possible: job change page
Feb 22

Setup Azure Logs Alerts & Notifications for application exceptions

Автор:
Anji Keesari
Источник:
Просмотров:
5209

Table of contents

Introduction

Monitoring and detecting application exceptions is crucial for maintaining the reliability and performance of your applications hosted on Azure. Azure Log Analytics and Azure Monitor provide powerful tools to help you achieve this.

In this article, I will provide step by step instructions for setting up Azure Logs Alerts and Notifications specifically for application exceptions.

Prerequisites

Before you begin, ensure you have the following prerequisites:

  • An Azure account with an active subscription.
  • A web application hosted on Azure
  • A Application Insights associated to the web application.
  • A web application configured to send logs data to Azure Application Insights.
  • An Azure Log Analytics workspace set up to collect logs from your application.
  • Diagnostics Settings configured for your application's logs to send exceptions to the Log Analytics workspace.

Step 1: Create Action Groups

Action Group allows you to define a set of notification and automated actions that can be triggered by alerts from various Azure services.

Step 1.1: Action Groups Structure

Before creating action groups, let me provide some valuable tips here.

The number and structure of action groups you need to create can vary based on your application team size and the nature of your project. It's important to modify your approach to meet your specific requirements and needs.

Here are a few suggestions:

  1. Single Action Group for all environments: You can opt for a single action group that covers all your environments. This approach simplifies management and is suitable for smaller teams.
  2. Separate Action Groups for each environment: You can set up separate action groups for individual environments. This provides more granularity and allows you to modify notifications and responses to each environment's unique characteristics.
  3. One for non-production and one for production: For smaller teams, it's often practical to create two action groups—one dedicated to non-production environments and the other focused on the production environment. This way, you can prioritize alerts and responses accordingly.

For larger applications with complex microservices architectures, consider creating separate action groups for each domain or team group. This approach ensures that alerts are directed to the right teams, facilitating efficient issue resolution.

The structure and number of action groups you create should align with your team's size, project complexity, and operational requirements.

Step 1.2: Create Action Groups

Here is the list of steps to create action group:

  1. Sign in to the Azure Portal.
  2. In the left navigation pane, click on "Monitor."
  3. Under "Alerts," click on "Action groups."
  4. Click on the "+ New action group" button.
  5. Under Resource group, select the appropriate resource group.
  6. In the "Basics" tab, provide a unique Name and Short Name for the action group.
  7. In the "Notifications" section, configure the action to notify relevant stakeholders for non-production environments. You can set up email notifications, SMS, or other preferred communication channels.
  8. Click "OK" to create the action group.

Action Group

Action Group

Action Group » Basic

Action Group » Basic

Action Group » Notification

Action Group » Notification

Action Group » Tags

Action Group » Tags

Step 1.3: Test Action Group

Before proceeding to the alert rule setup, test the action group by simulating an alert. This will ensure that notifications are properly configured and reaching the intended recipients.

Action Group » Test

Test Alerts

Test Alerts

Email from mail box

Email from mail box

Email from mail box

Email from mail box

Step 2: Create a new alert rule

  1. In the Azure Portal, under "Monitor," click on "Alert rules."
  2. Click the "+ New alert rule" button.

Step 2.1: Setup Conditions

  1. In the "Basics" tab, choose the appropriate Resource type and Resource for your application.
  2. Under the "Conditions" section, click on "+ Add condition."
  3. In the condition configuration: Choose "Custom log search" as the signal type.
  4. Click "Done" to save the condition.

Monitoring » Alert Rule

Monitoring » Alert Rule

or

Web App or Api App » Alert Rule

Web App or Api App » Alert Rule

Alert Rule » Condition

Alert Rule » Condition

Step 2.2: Write Log Query

The log query written should accurately filter and select the exceptions you want to monitor. Make sure it targets the relevant log data and time frame.

Write a log query that selects application exceptions. For example:

exceptions
| where timestamp > ago(1h)
AppServiceAppLogs
| where TimeGenerated > ago(30m)
| order by TimeGenerated desc
| take 100

Adjust the time range and query as per your requirements.

Alert Rule » Log Query

Alert Rule » Log Query

Step 2.3: Associate Action Group

  1. In the "Actions" section, click on "+ Add action group."
  2. Choose the action group created for the specific environment (non-production or production) where the alert will be triggered.
  3. Configure the alert action settings, including the severity and threshold.
  4. Click "OK" to associate the action group with the alert rule.

Alert Rule » Action Group

Alert Rule » Action Group

Alert Rule » Details

Alert Rule » Details

Alert Rule » Overview

Alert Rule » Overview

Step 2.4: Test Alert Rule

Before finalizing the alert rule, it's essential to test it by creating a simulated exception or by adjusting the log query to match actual exceptions. This ensures that alerts trigger as expected.

Test Alert Rule

Test Alert Rule

Conclusion

Setting up Azure Logs Alerts & Notifications for Application Exceptions is a proactive approach to identifying and addressing issues in your applications. By following the steps outlined in this guide, you can ensure that relevant teams are promptly notified when exceptions occur, allowing for timely troubleshooting and maintenance.

References

Похожее
Jul 8
In this article, let’s learn about how to perform file upload in ASP.NET Core 6. The file for upload can be of any format like image (jpg, BMP, gif, etc), text file, XML file, CSV file, PDF file, etc. We...
Aug 28
Author: Tushar Kanjariya
Step-by-step guide to creating custom context menus (right-click menu) in JavaScript. Hello Developers 👋, A context menu, also known as a right-click menu or pop-up menu, is a menu that appears when the user performs a specific action, such as...
May 24
Author: Cody Slingerland
Discover the best CI/CD tools for your stack — including tools to help manage and optimize your continuous integration and delivery pipelines. The modern software development lifecycle comprises two key phases: continuous integration (CI) and continuous delivery or deployment (CD)....
Jun 5, 2023
Author: Juan Alberto España Garcia
In this section, we’ll explore the world of unit testing in C# and .NET, learn what unit testing is, why it’s important, and the landscape of testing frameworks and tools available to developers. What is Unit Testing? Unit testing is...
Написать сообщение
Тип
Почта
Имя
*Сообщение
RSS
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете
Типичные взаимные блокировки в MS SQL и способы борьбы с ними
9 главных трендов в разработке фронтенда в 2024 году
Из интровертов в менторы: как мидлы становятся сеньорами
NULL в SQL: что это такое и почему его знание необходимо каждому разработчику
Модуль, пакет, библиотека, фреймворк: разбираемся в разнице
Универсальный ускоритель инженера: как расти быстрее с помощью проектов
Soft skills: 18 самых важных навыков, которыми должен владеть каждый работник
5 приемов увеличения продуктивности разработчика
Почему вы никогда не должны соглашаться на собеседования с программированием
Using a сustom PagedList class for Generic Pagination in .NET Core
LinkedIn: Sergey Drozdov
Boosty
Donate to support the project
GitHub account
GitHub profile