<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk" -->

---
title: Building a Live AIOps Operations Dashboard with CloudWatch
description: Part 5 of an AIOps on AWS series, this demo adds CloudWatch Custom Metrics and a live operations dashboard to an existing self-healing infrastructure pipeline....
canonical: https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Building a Live AIOps Operations Dashboard with CloudWatch | daily.dev
og:description: Part 5 of an AIOps on AWS series, this demo adds CloudWatch Custom Metrics and a live operations dashboard to an existing self-healing infrastructure pipeline....
og:url: https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk
og:image: https://api.daily.dev/og/posts/5Qw3HkUqK.png
og:image:alt: Building a Live AIOps Operations Dashboard with CloudWatch
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Building a Live AIOps Operations Dashboard with CloudWatch

**[Medium](https://daily.dev/sources/medium_js)** · 5 min read · 1 upvotes · 0 comments

## Summary

Part 5 of an AIOps on AWS series, this demo adds CloudWatch Custom Metrics and a live operations dashboard to an existing self-healing infrastructure pipeline. Seven custom metrics are published to the AIOps/Incidents namespace after each Lambda-driven incident analysis, covering incident count, severity breakdown, MTTR, and remediation outcomes. An 8-widget CloudWatch dashboard visualizes these in real time with charts, metric math expressions, and a Log Insights table. Key lessons cover CloudWatch propagation delays, dimension design for flexible filtering, metric math constraints, and the operational value of tracking MTTR live.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://engr-syedusmanahmad.medium.com/building-a-live-aiops-operations-dashboard-with-cloudwatch-db47bd75d500>

## Questions this post answers

### Why don't my CloudWatch custom metrics show up immediately on my dashboard after a Lambda execution?

CloudWatch metrics have a built-in propagation delay of about one to five minutes, so a metric published right after a Lambda execution will not appear on the dashboard instantly. Waiting roughly five minutes and refreshing resolves it; this delay is expected CloudWatch behavior rather than a bug in the pipeline or metric publishing code.

_daily.dev surfaces practical AWS operations lessons like this for engineers debugging dashboard delays._

### Why does my CloudWatch metric math expression like (m1/m2)*100 return -- or an incorrect value?

Metric math expressions require both metrics to use the same statistic and period; mixing Average and Sum in a calculation such as (RemediationSuccess/IncidentCount)*100 produces -- or wrong results. Both metrics in the expression must use the Sum statistic over the same period for the calculation to work correctly.

_engineers building CloudWatch dashboards can find AWS metric gotchas like this curated on daily.dev._

### What custom metrics should I publish to track an automated incident remediation pipeline in CloudWatch?

Seven metrics work well: IncidentCount (total incidents), IncidentBySeverity (breakdown per severity), SeverityScore (CRITICAL=4, HIGH=3, MEDIUM=2, LOW=1), MTTRMilliseconds (end-to-end fix time), and RemediationSuccess, RemediationFailed, RemediationSkipped as binary indicators, published under a custom namespace like AIOps/Incidents with InstanceId, Service, and Severity as dimensions for filtering.

_teams designing AIOps observability can track metric design patterns like this via daily.dev._

## Similar posts on daily.dev

- [Build Cloudwatch Dashboards with Pulumi IaC](https://daily.dev/posts/build-cloudwatch-dashboards-with-pulumi-iac-hatc52b13) · AWS Fundamentals · 0 upvotes · 0 comments
- [Amazon CloudWatch introduces interactive incident reporting](https://daily.dev/posts/amazon-cloudwatch-introduces-interactive-incident-reporting-hgf14o05z) · AWS · 0 upvotes · 0 comments
- [Amazon CloudWatch Introduces OpenTelemetry Metrics Support in Preview](https://daily.dev/posts/amazon-cloudwatch-introduces-opentelemetry-metrics-support-in-preview-xceyqkeg8) · InfoQ · 0 upvotes · 0 comments
- [Amazon CloudWatch Database Insights expands anomaly detection in on-demand analysis](https://daily.dev/posts/amazon-cloudwatch-database-insights-expands-anomaly-detection-in-on-demand-analysis-n8crbsdpy) · AWS · 0 upvotes · 0 comments
- [AWS CloudWatch Dashboard Cost Efficiency: Logs vs. Custom Metrics](https://daily.dev/posts/aws-cloudwatch-dashboard-cost-efficiency-logs-vs-custom-metrics-nc0lgmaa1) · cloudonaut · 0 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#observability](https://daily.dev/tags/observability), [#aws-lambda](https://daily.dev/tags/aws-lambda), [#aiops](https://daily.dev/tags/aiops), [#aws-cloudwatch](https://daily.dev/tags/aws-cloudwatch)

[View this post on daily.dev](https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Building a Live AIOps Operations Dashboard with CloudWatch","url":"https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk"},"datePublished":"2026-07-18T07:31:02.497Z","dateModified":"2026-09-13T21:05:22.576Z","description":"Part 5 of an AIOps on AWS series, this demo adds CloudWatch Custom Metrics and a live operations dashboard to an existing self-healing infrastructure pipeline....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5d99291f5452441aaa5e156a29064ac4?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/5d99291f5452441aaa5e156a29064ac4?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,observability,aws-lambda,aiops,aws-cloudwatch","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"Building a Live AIOps Operations Dashboard with CloudWatch"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/building-a-live-aiops-operations-dashboard-with-cloudwatch-5qw3hkuqk#faq","mainEntity":[{"@type":"Question","name":"Why don't my CloudWatch custom metrics show up immediately on my dashboard after a Lambda execution?","acceptedAnswer":{"@type":"Answer","text":"CloudWatch metrics have a built-in propagation delay of about one to five minutes, so a metric published right after a Lambda execution will not appear on the dashboard instantly. Waiting roughly five minutes and refreshing resolves it; this delay is expected CloudWatch behavior rather than a bug in the pipeline or metric publishing code. daily.dev surfaces practical AWS operations lessons like this for engineers debugging dashboard delays."}},{"@type":"Question","name":"Why does my CloudWatch metric math expression like (m1/m2)*100 return -- or an incorrect value?","acceptedAnswer":{"@type":"Answer","text":"Metric math expressions require both metrics to use the same statistic and period; mixing Average and Sum in a calculation such as (RemediationSuccess/IncidentCount)*100 produces -- or wrong results. Both metrics in the expression must use the Sum statistic over the same period for the calculation to work correctly. engineers building CloudWatch dashboards can find AWS metric gotchas like this curated on daily.dev."}},{"@type":"Question","name":"What custom metrics should I publish to track an automated incident remediation pipeline in CloudWatch?","acceptedAnswer":{"@type":"Answer","text":"Seven metrics work well: IncidentCount (total incidents), IncidentBySeverity (breakdown per severity), SeverityScore (CRITICAL=4, HIGH=3, MEDIUM=2, LOW=1), MTTRMilliseconds (end-to-end fix time), and RemediationSuccess, RemediationFailed, RemediationSkipped as binary indicators, published under a custom namespace like AIOps/Incidents with InstanceId, Service, and Severity as dimensions for filtering. teams designing AIOps observability can track metric design patterns like this via daily.dev."}}]}
```

