Back to BlogAzure Cloud

Azure Monitoring and Alerts Setup Guide 2026: Prevent Downtime Before It Happens

18 October 2026 6 min read
Want to build a career in IT or Microsoft 365?

Take the free IT Readiness Test and see where you stand, 10 quick questions.

Take the free test

Why Azure monitoring matters right now

If you're managing cloud infrastructure in 2026, you know that reactive IT is dead. The difference between a team that sleeps soundly and one that's fielding midnight emergency calls is usually one thing: proper monitoring and alerting. Azure Monitor isn't optional anymore. It's the difference between catching a problem at 2am when it starts, or at 10am when your entire organisation knows about it.

The reality is blunt. A study from last year showed that 73 per cent of Azure outages were detected by users before the IT team knew there was an issue. That gap costs money, reputation, and very often, your job satisfaction. This guide walks you through setting up Azure monitoring and alerts properly, so you're always one step ahead.

What Azure Monitor actually does

Azure Monitor is Microsoft's unified platform for observability across your entire cloud estate. It's not just a dashboard that shows you pretty graphs. It's an active system that watches your infrastructure, collects data from every resource you run, and can trigger actions (like sending you an alert, or even auto-scaling your app) the moment something looks wrong.

Three core components work together:

  • Metrics: Real-time numerical data from your resources (CPU, memory, network throughput, response times). These are automatically collected and stored.
  • Logs: Detailed event data and diagnostic information. These tell you the "why" behind what metrics show.
  • Alerts: Rules you define that trigger actions when metrics or logs hit a threshold you set.
  • The key insight most new Azure admins miss: monitoring is only useful if it actually alerts you to something actionable. A dashboard full of data you never check is just noise.

    Setting up metrics and alerts: the practical walkthrough

    Step 1: Identify what to monitor

    Start here, not with tools. Ask yourself: what would make my organisation lose money or reputation if it failed right now? For most teams, that's:

  • Web app response time (anything over 2-3 seconds is felt by users)
  • Database connection failures (silently drops requests)
  • VM CPU or memory at critical levels (causes slowdowns or crashes)
  • Storage account errors (especially on production file systems)
  • App Service plan CPU or memory (throttles your applications)
  • If you're running a healthcare system or any regulated service, you'll want to add audit logs and access attempts to that list. But start small. Five good alerts beat twenty mediocre ones every time.

    Step 2: Create an action group

    An action group is where alerts go to do something. Without one, your alert fires into the void.

    Navigate to Azure Portal > Monitor > Alerts > Action groups > Create action group.

    Name it something obvious like `prod-critical-alerts`. Add notification types:

  • Email/SMS: For you and your team. Be specific about who gets what. Critical infrastructure alerts probably go to senior ops staff. Less critical alerts go to the on-call engineer.
  • Webhook: Sends data to an external system (like Slack, or a custom incident management tool). This is where you can get creative. A webhook to your Slack channel means the whole team sees it instantly, and Slack becomes your incident log.
  • Azure Functions or Logic Apps: This is where it gets powerful. You can auto-remediate. If a VM is critically low on disk, a function can clean old logs. If an app crashes, a function can restart it. Automation is the goal.
  • For healthcare-specific deployments, you'll want audit logs in here too. If a database query fails, you need to know who was querying it and when, not just that it failed.

    Step 3: Create your first alert rule

    Monitor > Alerts > Create > Alert rule.

    Pick your resource (a specific VM, database, or app service). Then:

  • Condition: Select the metric (e.g. "Percentage CPU"). Set the operator (e.g. "Greater than") and the threshold. For CPU, 85% is a good starting point for production. For response time, anything over 2000ms (2 seconds) should alert.
  • Aggregation: "Average over the last 5 minutes" is usually right. This avoids false positives from brief spikes.
  • Frequency of evaluation: Every 1 minute for critical systems.
  • Action group: Link the action group you created above.
  • Severity: Mark it (critical, high, medium, low). This helps your team prioritise.
  • Here's the thing most people get wrong: they set the threshold too high because they're afraid of alert fatigue. Then the resource sits at 90% CPU and nobody knows until it hits 100% and crashes. Start with reasonable thresholds (80-85% for capacity metrics), and adjust down after a week if you're getting too many alerts. It's easier to be slightly noisy than to miss a real issue.

    Step 4: Add log-based alerts for deeper insight

    Metrics alone aren't enough. You also need log-based alerts.

    Monitor > Logs > Create > New alert rule.

    Write a Kusto Query Language (KQL) query that pulls the data you want to alert on. For example, if you want to know when authentication fails more than 5 times in 10 minutes:

    ```

    SigninLogs

    | where ResultType != "0"

    | summarize FailureCount=count() by bin(TimeGenerated, 10m)

    | where FailureCount > 5

    ```

    This catches credential attacks and misconfigurations fast. Set the alert to fire when results are returned (meaning the condition was met).

    Common alert patterns for production Azure

    Here's a checklist of alerts that have genuinely saved organisations from outages:

  • App Service: Response time over 2 seconds, HTTP 5xx errors over 5 per minute, memory usage over 85 per cent.
  • SQL Database: DTU consumption over 90 per cent, connection failures, deadlocks detected.
  • Virtual Machines: CPU over 85 per cent, available memory under 500MB, disk space under 10 per cent.
  • Application Gateway: Backend health down, connection failures, latency over 1 second.
  • Storage Accounts: Authentication failures, any 5xx errors, unusual spike in API calls.
  • For healthcare specifically, add:

  • Failed access to protected health information.
  • Any anonymous or unauthenticated requests to patient data endpoints.
  • Backup job failures (HIPAA and GDPR require audit trails).
  • If you want a structured path to mastering this, our Microsoft Azure Administrator Course covers monitoring, alerting, and security in depth, including real-world lab exercises on a live Azure environment. It's the fastest way to move from "I know the theory" to "I've actually built this". Check the Azure course details here for start dates and waitlist information.

    Alert fatigue and the cost of ignoring them

    Here's a hard truth: if you send more than 20 alerts to someone's inbox per day, they stop reading them. Your brain literally can't process that volume and stay vigilant. So:

  • Use action groups to route alerts. Non-critical alerts go to a Slack channel. Critical ones get SMS and email. This separates signal from noise.
  • Review alert performance weekly. If an alert has fired 50 times and been a false positive 48 times, turn it off and adjust the threshold.
  • Use alert rules to combine related conditions. Instead of five separate alerts about a failing app, create one alert that says "if response time AND error rate are both high, alert once".
  • The goal isn't zero alerts. The goal is that every alert your team receives is something they should genuinely act on within the next 4 hours.

    Making this sustainable

    Set a 30-minute calendar reminder every Friday to review alert history. Ask:

  • Did any alert fire that we didn't catch?
  • Did any alert fire that turned out to be false?
  • Is there a gap in our coverage?
  • This simple habit stops alert creep. It also helps you explain to your manager why monitoring matters. You'll have data showing how many potential incidents you caught and fixed before users noticed.

    Azure monitoring is not a "set it and forget it" tool. It's a conversation between you and your infrastructure. The better you listen, the fewer conversations you'll have with an angry user at 3am.

    Frequently asked questions

    How long does it take to set up Azure monitoring and alerts?

    A basic setup covering your most critical resources takes about 30 to 60 minutes. Creating action groups, defining five to ten alert rules, and testing notifications is an afternoon's work. A comprehensive setup covering everything (metrics, logs, advanced alerting, automation) takes two to four weeks as you learn what actually matters in your specific environment.

    Can Azure Monitor send alerts to Slack?

    Yes. You use a Slack webhook with a Logic App or Azure Function to format the alert data nicely, or Azure Monitor can send directly to Slack via a third-party connector. Slack integration means your whole team sees alerts in real time without checking email.

    What's the difference between metrics and logs?

    Metrics are numerical, real-time data points (CPU percentage, response time). Logs are detailed event records that explain what happened and why. You typically alert on metrics for "something is wrong now", and logs for "this specific event happened and I need to know about it".

    Will Azure Monitor alerts cost me money?

    Azure Monitor data is free for the first 1GB of ingestion per month per subscription. Alerts themselves cost based on notification type (email is free, webhooks are cheap). However, if you're storing huge volumes of logs, costs can add up. Start with the essentials and expand once you understand your data volume.

    How do I avoid alert fatigue if I have hundreds of resources?

    Route alerts by severity and resource type. Use action groups to send critical alerts only to senior ops staff via SMS, high alerts to the on-call engineer via email, and medium alerts to a Slack channel. Also, aggregate related alerts into single rules (e.g. one rule for "any database performance issue" rather than ten separate rules).

    Ready to start your IT career?

    SmoothOps 365 runs live instructor-led training every Saturday and Sunday. 3 months. 50 contact hours. Keep your job while you train.