{"id":29343,"date":"2025-07-01T15:03:24","date_gmt":"2025-07-01T09:33:24","guid":{"rendered":"https:\/\/opstree.com\/blog\/?p=29343"},"modified":"2025-11-21T14:09:08","modified_gmt":"2025-11-21T08:39:08","slug":"logs-to-alerts-with-cloudwatch-filters","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2025\/07\/01\/logs-to-alerts-with-cloudwatch-filters\/","title":{"rendered":"Logs to Alerts with CloudWatch Filters"},"content":{"rendered":"<div class=\"cloud-alarms-container\" style=\"font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; max-width: 1200px; margin: 0 auto; padding: 20px;\">\n<div class=\"alarm-card\" style=\"background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: white; border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);\">\n<h2 style=\"margin-top: 0; font-size: 2.em; line-height: 1.3;\">Why Alarms Matter in Cloud Infrastructure<\/h2>\n<p style=\"font-size: 1.2em; opacity: 0.9; margin-bottom: 0;\">Proactive monitoring for reliable cloud systems<\/p>\n<\/div>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin-bottom: 30px;\">\n<div class=\"alarm-card\" style=\"background: white; border-radius: 12px; padding: 25px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #4b6cb7;\">\n<h4 style=\"margin-top: 0; color: #2a5298;\">The Critical Role of Monitoring<\/h4>\n<p style=\"color: #555; line-height: 1.6;\">In any modern <a href=\"https:\/\/opstree.com\/blog\/2023\/06\/15\/how-to-design-a-hybrid-cloud-architecture\/\"><strong>cloud-based architecture<\/strong><\/a>, monitoring and alerting play a critical role in maintaining reliability, performance, and security.<\/p>\n<\/div>\n<div class=\"alarm-card\" style=\"background: white; border-radius: 12px; padding: 25px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #4b6cb7;\">\n<h4 style=\"margin-top: 0; color: #2a5298;\">Beyond Just Logs<\/h4>\n<p style=\"color: #555; line-height: 1.6;\">It&#8217;s not enough to just have logs-you need a way to act on those logs when something goes wrong. That&#8217;s where CloudWatch alarms come.<\/p>\n<\/div>\n<\/div>\n<div class=\"alarm-card\" style=\"background: #fff8f0; border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #ff9a3c;\">\n<h4 style=\"margin-top: 0; color: #d35400;\">The Cost of Being Reactive<\/h4>\n<p style=\"color: #555; line-height: 1.6; font-size: 1.1em;\">Imagine a situation where your application starts throwing 5xx errors, and you don&#8217;t know until a customer reports it. By the time you act, you&#8217;ve already lost trust.<\/p>\n<p style=\"color: #555; line-height: 1.6; font-size: 1.1em;\">Alarms prevent this reactive chaos by enabling proactive monitoring\u2014you get notified the moment an issue surfaces, allowing you to respond before users even notice.<\/p>\n<\/div>\n<h2 style=\"text-align: center; color: #2a5298; margin-bottom: 25px;\">The Risks of Operating Without Alarms<\/h2>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 40px;\">\n<div class=\"alarm-card\" style=\"background: white; border-radius: 10px; padding: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;\">\n<div style=\"background: #ffecec; width: 60px; height: 60px; border-radius: 50%; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; color: #e74c3c; font-size: 24px;\">!<\/div>\n<h4 style=\"margin: 0 0 10px; color: #2a5298;\">Missed Error Spikes<\/h4>\n<p style=\"color: #666; font-size: 0.95em; margin: 0;\">You might miss spikes in 4xx\/5xx errors that indicate growing problems.<\/p>\n<\/div>\n<div class=\"alarm-card\" style=\"background: white; border-radius: 10px; padding: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;\">\n<div style=\"background: #fff0e6; width: 60px; height: 60px; border-radius: 50%; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; color: #e67e22; font-size: 24px;\">\u231b<\/div>\n<h4 style=\"margin: 0 0 10px; color: #2a5298;\">Reactive Mode<\/h4>\n<p style=\"color: #666666; font-size: 0.95em; margin: 0px;\"><span class=\"TextRun SCXW219116936 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW219116936 BCX0\">\u00a0You&#8217;re<\/span><span class=\"NormalTextRun SCXW219116936 BCX0\"> always <\/span><span class=\"NormalTextRun SCXW219116936 BCX0\">proactive instead of reactive<\/span><span class=\"NormalTextRun SCXW219116936 BCX0\">.<\/span><\/span><\/p>\n<\/div>\n<div class=\"alarm-card\" style=\"background: white; border-radius: 10px; padding: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;\">\n<div style=\"background: #ebf5fb; width: 60px; height: 60px; border-radius: 50%; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; color: #3498db; font-size: 24px;\">\ud83d\udc41\ufe0f<\/div>\n<h4 style=\"margin: 0 0 10px; color: #2a5298;\">Lack of Visibility<\/h4>\n<p style=\"color: #666; font-size: 0.95em; margin: 0;\">Your team lacks visibility into critical system behavior.<\/p>\n<\/div>\n<div class=\"alarm-card\" style=\"background: white; border-radius: 10px; padding: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); text-align: center;\">\n<div style=\"background: #eafaf1; width: 60px; height: 60px; border-radius: 50%; margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; color: #27ae60; font-size: 24px;\">\ud83d\udd0d<\/div>\n<h4 style=\"margin: 0 0 10px; color: #2a5298;\">Diagnosis Challenges<\/h4>\n<p style=\"color: #666; font-size: 0.95em; margin: 0;\">Diagnosing issues becomes more difficult without early signals.<\/p>\n<\/div>\n<\/div>\n<div class=\"alarm-card\" style=\"background: linear-gradient(135deg, #4776E6 0%, #8E54E9 100%); color: white; border-radius: 12px; padding: 30px; text-align: center;\">\n<h3 style=\"margin-top: 0; font-size: 1.8em;\">The CloudWatch Alarm Solution<\/h3>\n<p style=\"font-size: 1.1em; margin-bottom: 0; opacity: 0.95;\">Due to all the reasons above, that&#8217;s why I decided to implement AWS CloudWatch Alarms using Metric Filters\u2014a cost-effective, powerful way to monitor logs and trigger alerts based on specific patterns.<\/p>\n<\/div>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"cloudwatch-container\" style=\"font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; max-width: 1200px; margin: 0 auto; padding: 20px;\">\n<p><!-- Hero Section --><\/p>\n<div class=\"cw-card\" style=\"background: linear-gradient(135deg, #232526 0%, #414345 100%); color: white; border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);\">\n<h2 style=\"margin-top: 0; font-size: 1.8em; line-height: 1.3;\">Why Choose Amazon CloudWatch<\/h2>\n<\/div>\n<p><!-- Benefits Grid --><\/p>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 30px;\">\n<div class=\"cw-card\" style=\"background: white; border-radius: 10px; padding: 25px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-top: 4px solid #FF9900;\">\n<h3 style=\"margin-top: 0; color: #232f3e;\"><span class=\"TextRun SCXW89805347 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW89805347 BCX0\">We Cho<\/span><span class=\"NormalTextRun SCXW89805347 BCX0\">o<\/span><span class=\"NormalTextRun SCXW89805347 BCX0\">se Amazon CloudWatch Because:<\/span><\/span><span class=\"EOP SCXW89805347 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/h3>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">It integrates tightly with other <a href=\"https:\/\/opstree.com\/aws-partner\/\"><strong>AWS services<\/strong><\/a>.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">It offers native support for metric filtering and alarms.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">It&#8217;s scalable and works well with EC2 instances, ECS, EKS, Lambda, etc.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"19\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">It&#8217;s cost-effective for log-based monitoring.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><strong><span class=\"TextRun SCXW127193893 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW127193893 BCX0\">Instead of pushing logs to third-party tools, we kept everything inside AWS for tighter security and easier maintenance<\/span><\/span><span class=\"TextRun SCXW127193893 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW127193893 BCX0\">.<\/span><\/span><span class=\"EOP SCXW127193893 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/strong><\/p>\n<\/div>\n<\/div>\n<p><!-- Implementation Steps --><\/p>\n<div class=\"cw-card\" style=\"background: #f1f8fe; border-radius: 12px; padding: 30px; margin-bottom: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #FF9900;\">\n<h3 style=\"margin-top: 0; color: #232f3e;\">How to Implement CloudWatch Alarms<\/h3>\n<p style=\"color: #555; font-size: 1.1em;\">Follow these <strong>steps<\/strong> to set up comprehensive monitoring with CloudWatch:<\/p>\n<\/div>\n<p><!-- Step 1 --><\/p>\n<div class=\"step-card\" style=\"background: white; border-radius: 12px; padding: 25px; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); position: relative; overflow: hidden;\">\n<div style=\"position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #FF9900;\"><\/div>\n<div style=\"display: flex; align-items: center; margin-bottom: 15px;\">\n<div style=\"background: #FF9900; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 15px;\">1<\/div>\n<h4 style=\"margin: 0; color: #232f3e;\"><span class=\"TextRun SCXW65907058 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW65907058 BCX0\" data-ccp-parastyle=\"heading 2\">Install the CloudWatch Agent (For EC2 Logs)<\/span><\/span><span class=\"EOP SCXW65907058 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\">\u00a0<\/span><\/h4>\n<\/div>\n<p><a style=\"display: inline-block; background: #f1f8fe; color: #1a73e8; padding: 8px 15px; border-radius: 5px; text-decoration: none; font-weight: 500; margin-top: 10px;\" href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/download-cloudwatch-agent-commandline.html\" target=\"_blank\" rel=\"noopener\">\ud83d\udd17 Official AWS Setup Guide<\/a><\/p>\n<div style=\"margin-top: 15px; padding: 15px; background: #f8f9fa; border-radius: 8px;\">\n<p style=\"margin: 0; color: #555; font-style: italic;\">\ud83d\udca1 Pro Tip: Create a custom config file to push only needed logs to reduce noise and cost.<\/p>\n<\/div>\n<\/div>\n<p><!-- Step 2 --><\/p>\n<div class=\"step-card\" style=\"background: white; border-radius: 12px; padding: 25px; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); position: relative; overflow: hidden;\">\n<div style=\"position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #FF9900;\"><\/div>\n<div style=\"display: flex; align-items: center; margin-bottom: 15px;\">\n<div style=\"background: #FF9900; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 15px;\">2<\/div>\n<h4 style=\"margin: 0; color: #232f3e;\"><span class=\"TextRun SCXW143632295 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW143632295 BCX0\" data-ccp-parastyle=\"heading 2\">\ufe0fCreate an IAM Role for CloudWatch Agent<\/span><\/span><span class=\"EOP SCXW143632295 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\">\u00a0<\/span><\/h4>\n<\/div>\n<p style=\"color: #555; margin-top: 0; line-height: 1.6;\"><span class=\"TextRun SCXW89402088 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentStart CommentHighlightPipeClicked CommentHighlightClicked SCXW89402088 BCX0\">Minimum IAM Permissions:<\/span><\/span><span class=\"EOP CommentHighlightClicked SCXW89402088 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<div style=\"background: #f8f9fa; padding: 15px; border-radius: 8px; font-family: monospace; font-size: 0.9em; overflow-x: auto;\">logs:CreateLogGroup<br \/>\nlogs:CreateLogStream<br \/>\nlogs:PutLogEvents<br \/>\ncloudwatch:PutMetricData<\/div>\n<p style=\"color: #555; margin-top: 15px; line-height: 1.6;\">Attach this role to your EC2 instance running the CloudWatch Agent.<\/p>\n<\/div>\n<p><!-- Step 3 --><\/p>\n<div class=\"step-card\" style=\"background: white; border-radius: 12px; padding: 25px; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); position: relative; overflow: hidden;\">\n<div style=\"position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #FF9900;\"><\/div>\n<div style=\"display: flex; align-items: center; margin-bottom: 15px;\">\n<div style=\"background: #FF9900; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 15px;\">3<\/div>\n<h4 style=\"margin: 0; color: #232f3e;\"><span class=\"TextRun SCXW148998045 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW148998045 BCX0\" data-ccp-parastyle=\"heading 2\">Create Metric Filters for Your Log Group<\/span><\/span><\/h4>\n<\/div>\n<p style=\"color: #555; margin-top: 0; line-height: 1.6;\"><span class=\"TextRun SCXW216638740 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW216638740 BCX0\">Go to:<\/span><\/span><span class=\"EOP SCXW216638740 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29345\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111308.png\" alt=\"\" width=\"665\" height=\"95\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111308.png 665w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111308-300x43.png 300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>Example patterns for common error monitoring:<\/p>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 15px;\">\n<div style=\"background: #fff8f0; padding: 15px; border-radius: 8px;\">\n<h4 style=\"margin: 0 0 10px; color: #d35400;\">4xx Errors<\/h4>\n<div style=\"background: white; padding: 10px; border-radius: 5px; font-family: monospace; font-size: 0.85em; overflow-x: auto;\">[&#8230;statusCode=%4[0-9]{2}%&#8230;]<\/div>\n<\/div>\n<div style=\"background: #ffe8e8; padding: 15px; border-radius: 8px;\">\n<h4 style=\"margin: 0 0 10px; color: #c0392b;\">5xx Errors<\/h4>\n<div style=\"background: white; padding: 10px; border-radius: 5px; font-family: monospace; font-size: 0.85em; overflow-x: auto;\">[&#8230;statusCode=%5[0-9]{2}%&#8230;]<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><b><span data-contrast=\"auto\">For Each Filter:<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"auto\">Click <\/span><b><span data-contrast=\"auto\">Test Pattern<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Create Metric \u2192 Give Namespace (Example: <\/span><span data-contrast=\"auto\">Custom\/ALB\/ErrorMetrics<\/span><span data-contrast=\"auto\">)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Metric Value: Set as <\/span><span data-contrast=\"auto\">1<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<\/div>\n<p><!-- Step 4 --><\/p>\n<div class=\"step-card\" style=\"background: white; border-radius: 12px; padding: 25px; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); position: relative; overflow: hidden;\">\n<div style=\"position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #FF9900;\"><\/div>\n<div style=\"display: flex; align-items: center; margin-bottom: 15px;\">\n<div style=\"background: #FF9900; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 15px;\">4<\/div>\n<h4 style=\"margin: 0; color: #232f3e;\"><span class=\"TextRun SCXW105098994 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW105098994 BCX0\" data-ccp-parastyle=\"heading 2\">Setup SNS (Simple Notification Service) for Alerts<\/span><\/span><\/h4>\n<\/div>\n<p><b><span data-contrast=\"auto\">SNS = Your Notification Pipeline<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">If you don\u2019t have an SNS Topic:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29346\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111324.png\" alt=\"\" width=\"619\" height=\"75\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111324.png 619w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111324-300x36.png 300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<div style=\"background: #f8f9fa; padding: 15px; border-radius: 8px; margin-top: 10px;\">\n<p style=\"margin: 0 0 10px; color: #555; font-weight: 500;\">To add email recipients:<\/p>\n<ol style=\"margin: 0; padding-left: 20px; color: #555;\">\n<li><span class=\"TextRun SCXW98683196 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW98683196 BCX0\">Open the SNS Topic<\/span><\/span><span class=\"EOP SCXW98683196 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li><span class=\"TextRun SCXW19025209 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW19025209 BCX0\">Create Subscription \u2192 Protocol: Email \u2192 Enter Email IDs \u2192 Create<\/span><\/span><span class=\"EOP SCXW19025209 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<li><span class=\"TextRun SCXW266678589 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW266678589 BCX0\">Team members will get a <\/span><\/span><span class=\"TextRun SCXW266678589 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW266678589 BCX0\">confirmation email<\/span><\/span><span class=\"TextRun SCXW266678589 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW266678589 BCX0\"> (They must click confirm!)<\/span><\/span><span class=\"EOP SCXW266678589 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/li>\n<\/ol>\n<p><span class=\"TextRun SCXW19418795 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW19418795 BCX0\">In your Alarm setup, select this <\/span><\/span><strong><span class=\"TextRun SCXW19418795 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW19418795 BCX0\">SNS topic under <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW19418795 BCX0\">Notification<\/span><span class=\"NormalTextRun SCXW19418795 BCX0\"> section<\/span><\/span><\/strong><span class=\"TextRun SCXW19418795 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW19418795 BCX0\">.<\/span><\/span><span class=\"EOP SCXW19418795 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<p><!-- Step 5 --><\/p>\n<div class=\"step-card\" style=\"background: white; border-radius: 12px; padding: 25px; margin-bottom: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); position: relative; overflow: hidden;\">\n<div style=\"position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: #FF9900;\"><\/div>\n<div style=\"display: flex; align-items: center; margin-bottom: 15px;\">\n<div style=\"background: #FF9900; color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; margin-right: 15px;\">5<\/div>\n<h4 style=\"margin: 0; color: #232f3e;\"><span class=\"TextRun SCXW224066224 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW224066224 BCX0\" data-ccp-parastyle=\"heading 2\">Create CloudWatch Alarms on These Metrics<\/span><\/span><span class=\"EOP SCXW224066224 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\">\u00a0<\/span><\/h4>\n<\/div>\n<p style=\"color: #555; margin-top: 0; line-height: 1.6;\"><span class=\"TextRun SCXW28775222 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW28775222 BCX0\">Once your Metric Filters are in place and actively generating metrics, <\/span><span class=\"NormalTextRun SCXW28775222 BCX0\">it&#8217;s<\/span><span class=\"NormalTextRun SCXW28775222 BCX0\"> time to put CloudWatch Alarms into action. This is where the magic happens\u2014<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW28775222 BCX0\">turning<\/span><span class=\"NormalTextRun SCXW28775222 BCX0\"> raw log patterns into real-time alerts. <\/span><\/span><span class=\"EOP SCXW28775222 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><strong><span class=\"TextRun SCXW138859129 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW138859129 BCX0\" data-ccp-parastyle=\"heading 3\">Example Alarm Scenarios:<\/span><\/span><span class=\"EOP SCXW138859129 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">\u00a0<\/span><\/strong><\/p>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 15px;\">\n<div style=\"background: #e8f4f8; padding: 15px; border-radius: 8px;\">\n<p style=\"margin: 0; color: #2980b9; font-weight: 500;\"><span class=\"TextRun SCXW179356067 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW179356067 BCX0\">If <\/span><\/span><span class=\"TextRun SCXW179356067 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW179356067 BCX0\">5xx errors &gt; 5 within 5 minutes<\/span><\/span><span class=\"TextRun SCXW179356067 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW179356067 BCX0\"> \u2192 <\/span><\/span><span class=\"TextRun SCXW179356067 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW179356067 BCX0\">Trigger an Alert<\/span><\/span><span class=\"EOP SCXW179356067 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<\/div>\n<div style=\"background: #e8f4f8; padding: 15px; border-radius: 8px;\">\n<p style=\"margin: 0; color: #2980b9; font-weight: 500;\"><span class=\"TextRun SCXW117007585 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117007585 BCX0\">If <\/span><\/span><span class=\"TextRun SCXW117007585 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117007585 BCX0\">4xx errors &gt; 10 within 10 minutes<\/span><\/span><span class=\"TextRun SCXW117007585 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117007585 BCX0\"> \u2192 <\/span><\/span><span class=\"TextRun SCXW117007585 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW117007585 BCX0\">Trigger an Alert<\/span><\/span><span class=\"EOP SCXW117007585 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<\/div>\n<div style=\"background: #e8f4f8; padding: 15px; border-radius: 8px;\">\n<p style=\"margin: 0; color: #2980b9; font-weight: 500;\"><span class=\"TextRun SCXW177837298 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177837298 BCX0\">If <\/span><\/span><span class=\"TextRun SCXW177837298 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177837298 BCX0\">Large payloads (&gt;100KB) exceed 50 events in 1 hour<\/span><\/span><span class=\"TextRun SCXW177837298 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177837298 BCX0\"> \u2192 <\/span><\/span><span class=\"TextRun SCXW177837298 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177837298 BCX0\">Trigger an Alert<\/span><\/span><span class=\"EOP SCXW177837298 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"alarm-steps-container\" style=\"font-family: 'Segoe UI', Roboto, -apple-system, sans-serif; max-width: 800px; margin: 0 auto; padding: clamp(15px, 5vw, 25px);\">\n<p><!-- Header --><\/p>\n<div style=\"background: #f8f9fa; border-left: 4px solid #FF9900; border-radius: 0 8px 8px 0; padding: 15px 20px; margin-bottom: 25px;\">\n<h2 style=\"margin: 0; color: #232f3e; font-size: clamp(1.3rem, 3vw, 1.6rem);\">Detailed Steps to Create CloudWatch Alarms<\/h2>\n<\/div>\n<p><!-- Steps Container --><\/p>\n<div style=\"background: white; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); overflow: hidden;\">\n<p><!-- Step 1 --><\/p>\n<div class=\"step\" style=\"padding: clamp(15px, 4vw, 20px); border-bottom: 1px solid #eee; display: flex; align-items: flex-start;\">\n<div style=\"background: #FF9900; color: white; min-width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; font-weight: bold; flex-shrink: 0;\">1<\/div>\n<div>\n<p style=\"margin: 0; color: #232f3e; font-weight: 500; line-height: 1.5;\">Go to <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">AWS Console \u2192 CloudWatch \u2192 Alarms \u2192 Create Alarm<\/span><\/p>\n<\/div>\n<\/div>\n<p><!-- Step 2 --><\/p>\n<div class=\"step\" style=\"padding: clamp(15px, 4vw, 20px); border-bottom: 1px solid #eee; display: flex; align-items: flex-start;\">\n<div style=\"background: #FF9900; color: white; min-width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; font-weight: bold; flex-shrink: 0;\">2<\/div>\n<div>\n<p style=\"margin: 0; color: #232f3e; font-weight: 500; line-height: 1.5;\">Click <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">Select metric<\/span> \u2192 Choose <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">&#8220;Log Metrics&#8221;<\/span><\/p>\n<\/div>\n<\/div>\n<p><!-- Step 3 --><\/p>\n<div class=\"step\" style=\"padding: clamp(15px, 4vw, 20px); border-bottom: 1px solid #eee; display: flex; align-items: flex-start;\">\n<div style=\"background: #FF9900; color: white; min-width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; font-weight: bold; flex-shrink: 0;\">3<\/div>\n<div>\n<p style=\"margin: 0; color: #232f3e; font-weight: 500; line-height: 1.5;\">Browse and select your custom metric (created earlier using Metric Filters)<\/p>\n<p style=\"margin: 8px 0 0; color: #666; font-size: 0.9em; font-style: italic;\">Then click <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">Select Metric<\/span><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<p><!-- Conditions Section --><\/p>\n<div style=\"padding: clamp(15px, 4vw, 20px); border-bottom: 1px solid #eee; background: #f9fafb;\">\n<h4 style=\"margin: 0 0 12px 0; color: #232f3e; display: flex; align-items: center;\">Under Conditions:<\/h4>\n<ul style=\"margin: 0; padding-left: 20px; color: #555;\">\n<li style=\"margin-bottom: 8px;\">Choose the threshold type (<span style=\"font-weight: 500;\">Static\/Anomaly detection<\/span>)<\/li>\n<li style=\"margin-bottom: 8px;\">Set threshold value (example: <span style=\"background: #fff8f0; padding: 2px 6px; border-radius: 4px;\">Greater than 5 errors<\/span>)<\/li>\n<li>Choose datapoint evaluation (e.g., <span style=\"background: #fff8f0; padding: 2px 6px; border-radius: 4px;\">1 out of 1 datapoint breaching threshold<\/span>)<\/li>\n<\/ul>\n<\/div>\n<p><!-- Actions Section --><\/p>\n<div style=\"padding: clamp(15px, 4vw, 20px); border-bottom: 1px solid #eee;\">\n<h4 style=\"margin: 0 0 12px 0; color: #232f3e; display: flex; align-items: center;\">Under Actions:<\/h4>\n<ul style=\"margin: 0; padding-left: 20px; color: #555;\">\n<li style=\"margin-bottom: 8px;\">Select an existing SNS topic or create a new one<\/li>\n<li style=\"margin-bottom: 8px;\">Add a name and description for identification (e.g., <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">ALB-5XX-Error-Alarm<\/span>)<\/li>\n<li>Click <span style=\"background: #f1f8fe; padding: 2px 6px; border-radius: 4px;\">Create Alarm<\/span><\/li>\n<\/ul>\n<\/div>\n<p><!-- Bonus Tip --><\/p>\n<div style=\"padding: clamp(15px, 4vw, 20px); background: #fff8f0; border-radius: 0 0 10px 10px;\">\n<div style=\"display: flex; align-items: flex-start;\">\n<div style=\"background: #FF9900; color: white; min-width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; font-weight: bold; flex-shrink: 0;\">\ud83d\udca1<\/div>\n<div>\n<h4 style=\"margin: 0 0 8px 0; color: #d35400;\">Bonus Tip<\/h4>\n<p style=\"margin: 0; color: #555; line-height: 1.5;\">For production workloads, set lower thresholds and tighter evaluation periods for critical errors (like 5xx). Once the alarm triggers, it will automatically publish a notification to the configured SNS topic, sending alerts to your team instantly! <span style=\"color: #27ae60; font-weight: 500;\">\u2705<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"payoff-container\" style=\"font-family: 'Segoe UI', Roboto, -apple-system, sans-serif; max-width: 800px; margin: 30px auto; padding: 0 20px;\">\n<div class=\"payoff-card\" style=\"background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%); border-radius: 12px; padding: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.05);\">\n<h2 style=\"margin-top: 0; color: #2a5298; text-align: center; font-size: clamp(1.4rem, 3vw, 1.8rem);\">The Payoff<\/h2>\n<div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 25px;\">\n<div style=\"background: white; border-radius: 8px; padding: 20px; display: flex; align-items: flex-start; box-shadow: 0 3px 10px rgba(0,0,0,0.03);\">\n<div style=\"background: #4CAF50; color: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0;\">\u2705<\/div>\n<div>\n<h3 style=\"margin: 0 0 8px 0; color: #333; font-size: 1.1rem;\">Faster Issue Detection<\/h3>\n<p style=\"margin: 0; color: #666; font-size: 0.95rem; line-height: 1.5;\">Identify problems immediately when they occur, not when users report them.<\/p>\n<\/div>\n<\/div>\n<div style=\"background: white; border-radius: 8px; padding: 20px; display: flex; align-items: flex-start; box-shadow: 0 3px 10px rgba(0,0,0,0.03);\">\n<div style=\"background: #2196F3; color: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0;\">\u2705<\/div>\n<div>\n<h3 style=\"margin: 0 0 8px 0; color: #333; font-size: 1.1rem;\">Proactive Responses<\/h3>\n<p style=\"margin: 0; color: #666; font-size: 0.95rem; line-height: 1.5;\">Fix issues before customers notice or complain about them.<\/p>\n<\/div>\n<\/div>\n<div style=\"background: white; border-radius: 8px; padding: 20px; display: flex; align-items: flex-start; box-shadow: 0 3px 10px rgba(0,0,0,0.03);\">\n<div style=\"background: #FF9800; color: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0;\">\u2705<\/div>\n<div>\n<h3 style=\"margin: 0 0 8px 0; color: #333; font-size: 1.1rem;\">Improved Uptime<\/h3>\n<p style=\"margin: 0; color: #666; font-size: 0.95rem; line-height: 1.5;\">Maintain higher system availability with quicker incident response.<\/p>\n<\/div>\n<\/div>\n<div style=\"background: white; border-radius: 8px; padding: 20px; display: flex; align-items: flex-start; box-shadow: 0 3px 10px rgba(0,0,0,0.03);\">\n<div style=\"background: #9C27B0; color: white; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0;\">\u2705<\/div>\n<div>\n<h3 style=\"margin: 0 0 8px 0; color: #333; font-size: 1.1rem;\">AWS Native Solution<\/h3>\n<p style=\"margin: 0; color: #666; font-size: 0.95rem; line-height: 1.5;\">Everything stays securely within your AWS ecosystem.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-29352\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111340.png\" alt=\"\" width=\"689\" height=\"432\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111340.png 689w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Screenshot-2025-07-01-111340-300x188.png 300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"final-thoughts-container\" style=\"font-family: 'Segoe UI', Roboto, -apple-system, sans-serif; max-width: 800px; margin: 40px auto; padding: 0 20px;\">\n<div class=\"final-thoughts-card\" style=\"background: #f8f9fa; border-radius: 12px; padding: 30px; text-align: center; position: relative; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border: 1px solid #e1e5ea;\">\n<p><!-- Decorative elements --><\/p>\n<div style=\"position: absolute; top: 0; right: 0; width: 100px; height: 100px; background: rgba(74, 144, 226, 0.1); border-radius: 50%; transform: translate(30%, -30%);\"><\/div>\n<div style=\"position: absolute; bottom: 0; left: 0; width: 150px; height: 150px; background: rgba(255, 152, 0, 0.1); border-radius: 50%; transform: translate(-30%, 30%);\"><\/div>\n<p><!-- Main content --><\/p>\n<h2 style=\"margin: 0 0 15px 0; color: #232f3e; font-size: clamp(1.4rem, 3vw, 1.8rem); position: relative;\">Final Thoughts<\/h2>\n<div style=\"font-size: clamp(1.1rem, 3vw, 1.3rem); color: #555; line-height: 1.6; margin-bottom: 20px; position: relative;\">\n<p style=\"margin: 0 0 15px 0;\">If you&#8217;re not using CloudWatch alarms yet&#8230;<\/p>\n<p style=\"margin: 0; font-weight: 500; color: #232f3e;\">you&#8217;re basically driving without a dashboard. \ud83d\ude05<\/p>\n<\/div>\n<div style=\"background: white; border-radius: 8px; padding: 20px; display: inline-block; margin: 0 auto; box-shadow: 0 3px 10px rgba(0,0,0,0.05); position: relative;\">\n<p style=\"margin: 0; font-size: 1.1rem; color: #333; font-weight: 500; display: flex; align-items: center; justify-content: center;\">Go set this up today!<\/p>\n<p>With Our<a href=\"https:\/\/opstree.com\/aws-consulting-services\/\"><strong> AWS Consulting Services<\/strong><\/a> .<\/p>\n<\/div>\n<p style=\"margin: 20px 0 0 0; color: #666; font-size: 0.95rem; line-height: 1.6; position: relative;\">It&#8217;s simple, cost-effective, and your future self (and your customers) will thank you.<span style=\"background-color: #ffffff; color: #1a1a1a; font-family: Merriweather, Georgia, serif; font-size: 16px;\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why Alarms Matter in Cloud Infrastructure Proactive monitoring for reliable cloud systems The Critical Role of Monitoring In any modern cloud-based architecture, monitoring and alerting play a critical role in maintaining reliability, performance, and security. Beyond Just Logs It&#8217;s not enough to just have logs-you need a way to act on those logs when something &hellip; <a href=\"https:\/\/opstree.com\/blog\/2025\/07\/01\/logs-to-alerts-with-cloudwatch-filters\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Logs to Alerts with CloudWatch Filters&#8221;<\/span><\/a><\/p>\n","protected":false},"author":244582700,"featured_media":29357,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[36349927],"tags":[768739294,273,24750792,343865,768739407],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/07\/Logs-to-Alerts-with-CloudWatch-Filters-.jpg","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-7Dh","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/29343"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/244582700"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=29343"}],"version-history":[{"count":20,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/29343\/revisions"}],"predecessor-version":[{"id":29984,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/29343\/revisions\/29984"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/29357"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=29343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=29343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=29343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}