awslabs.cloudwatch-appsignals-mcp-server 0.1.10__py3-none-any.whl → 0.1.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.cloudwatch-appsignals-mcp-server
3
- Version: 0.1.10
3
+ Version: 0.1.12
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for AWS Application Signals
5
5
  Project-URL: Homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: Documentation, https://awslabs.github.io/mcp/servers/cloudwatch-appsignals-mcp-server/
@@ -181,7 +181,35 @@ FILTER attributes.aws.local.service = "payment-service" and attributes.aws.local
181
181
  - `duration > 5` - Find slow requests (over 5 seconds)
182
182
  - `annotation[aws.local.operation]="GET /api/orders"` - Filter by specific operation
183
183
 
184
- #### 12. **`list_slis`** - Legacy SLI Status Report (Specialized Tool)
184
+ #### 12. **`analyze_canary_failures`** - Comprehensive Canary Failure Analysis
185
+ **Deep dive into CloudWatch Synthetics canary failures with root cause identification**
186
+
187
+ - Comprehensive canary failure analysis with deep dive into issues
188
+ - Analyze historical patterns and specific incident details
189
+ - Get comprehensive artifact analysis including logs, screenshots, and HAR files
190
+ - Receive actionable recommendations based on AWS debugging methodology
191
+ - Correlate canary failures with Application Signals telemetry data
192
+ - Identify performance degradation and availability issues across service dependencies
193
+
194
+ **Key Features:**
195
+ - **Failure Pattern Analysis**: Identifies recurring failure modes and temporal patterns
196
+ - **Artifact Deep Dive**: Analyzes canary logs, screenshots, and network traces for root causes
197
+ - **Service Correlation**: Links canary failures to upstream/downstream service issues using Application Signals
198
+ - **Performance Insights**: Detects latency spikes, fault rates, and connection issues
199
+ - **Actionable Remediation**: Provides specific steps based on AWS operational best practices
200
+ - **IAM Analysis**: Validates IAM roles and permissions for common canary access issues
201
+ - **Backend Service Integration**: Correlates canary failures with backend service errors and exceptions
202
+
203
+ **Common Use Cases:**
204
+ - Incident Response: Rapid diagnosis of canary failures during outages
205
+ - Performance Investigation: Understanding latency and availability degradation
206
+ - Dependency Analysis: Identifying which services are causing canary failures
207
+ - Historical Trending: Analyzing failure patterns over time for proactive improvements
208
+ - Root Cause Analysis: Deep dive into specific failure scenarios with full context
209
+ - Infrastructure Issues: Diagnose S3 access, VPC connectivity, and browser target problems
210
+ - Backend Service Debugging: Identify application code issues affecting canary success
211
+
212
+ #### 13. **`list_slis`** - Legacy SLI Status Report (Specialized Tool)
185
213
  **Use `audit_services()` as the PRIMARY tool for service auditing**
186
214
 
187
215
  - Basic report showing summary counts (total, healthy, breached, insufficient data)
@@ -526,6 +554,68 @@ Found 8 services being monitored:
526
554
  3. Review payment-api-service timeout configurations
527
555
  ```
528
556
 
557
+ ### Example 6: Canary Failure Analysis and Root Cause Investigation
558
+ ```
559
+ User: "My Pet Clinic canaries are failing. Can you help me diagnose the issues?"
560
+ Assistant: I'll analyze your Pet Clinic canaries to identify the root causes of failures.
561
+
562
+ [Uses analyze_canary_failures for comprehensive canary analysis]
563
+
564
+ analyze_canary_failures(canary_name="pc-visit-vet")
565
+ analyze_canary_failures(canary_name="pc-add-visit")
566
+ analyze_canary_failures(canary_name="webapp-erorrpagecanary")
567
+
568
+ 🔍 CANARY FAILURE ANALYSIS RESULTS:
569
+
570
+ 🔴 CRITICAL ISSUES IDENTIFIED:
571
+
572
+ **pc-visit-vet canary:**
573
+ • Root Cause: S3 bucket access issue
574
+ • Error Pattern: Exit status 127, "No such file or directory"
575
+ • Failure Count: 5 consecutive failures
576
+ • IAM Analysis: ✅ Role exists but S3 bucket ARN patterns incorrect in policies
577
+
578
+ **pc-add-visit canary:**
579
+ • Root Cause: Selector timeout + backend service errors
580
+ • Error Pattern: 30000ms timeout waiting for UI element + MissingFormatArgumentException
581
+ • Backend Issue: Format specifier '% o' error in BedrockRuntimeV1Service.invokeTitanModel()
582
+ • Performance: 34 second average response time, 0% success rate
583
+
584
+ **webapp-erorrpagecanary:**
585
+ • Root Cause: Browser target close during selector wait
586
+ • Error Pattern: "Target closed" waiting for `#jsError` selector
587
+ • Failure Count: 5 consecutive failures with 60000ms connection timeouts
588
+
589
+ 🔍 BACKEND SERVICE CORRELATION:
590
+ • MissingFormatArgumentException detected in Pet Clinic backend
591
+ • Location: org.springframework.samples.petclinic.customers.aws.BedrockRuntimeV1Service.invokeTitanModel (line 75)
592
+ • Impact: Affects multiple canaries testing Pet Clinic functionality
593
+ • 20% fault rate on GET /api/customer/diagnose/owners/{ownerId}/pets/{petId}
594
+
595
+ 🛠️ RECOMMENDED ACTIONS:
596
+
597
+ **Immediate (Critical):**
598
+ 1. Fix S3 bucket ARN patterns in pc-visit-vet IAM policy
599
+ 2. Fix format string bug in BedrockRuntimeV1Service: change '% o' to '%s' or correct format
600
+ 3. Add VPC permissions to canary IAM roles if Lambda runs in VPC
601
+
602
+ **Infrastructure (High Priority):**
603
+ 4. Investigate browser target stability issues (webapp-erorrpagecanary)
604
+ 5. Review canary timeout configurations - consider increasing from 30s to 60s
605
+ 6. Implement circuit breaker pattern for external service dependencies
606
+
607
+ **Monitoring (Medium Priority):**
608
+ 7. Add Application Signals monitoring for canary success rates
609
+ 8. Set up alerts for consecutive canary failures (>3 failures)
610
+ 9. Implement canary health dashboard with real-time status
611
+
612
+ 🎯 EXPECTED OUTCOMES:
613
+ • S3 access fix: Immediate resolution of pc-visit-vet failures
614
+ • Backend service fix: 80%+ improvement in Pet Clinic canary success rates
615
+ • Infrastructure improvements: Reduced browser target close errors
616
+ • Enhanced monitoring: Proactive failure detection and faster resolution
617
+ ```
618
+
529
619
  ## Recommended Workflows
530
620
 
531
621
  ### 🎯 Primary Audit Workflow (Most Common)
@@ -568,14 +658,24 @@ The server requires the following AWS IAM permissions:
568
658
  "application-signals:ListServiceLevelObjectives",
569
659
  "application-signals:GetServiceLevelObjective",
570
660
  "application-signals:BatchGetServiceLevelObjectiveBudgetReport",
661
+ "application-signals:ListAuditFindings",
571
662
  "cloudwatch:GetMetricData",
572
663
  "cloudwatch:GetMetricStatistics",
573
664
  "logs:GetQueryResults",
574
665
  "logs:StartQuery",
575
666
  "logs:StopQuery",
667
+ "logs:FilterLogEvents",
576
668
  "xray:GetTraceSummaries",
577
669
  "xray:BatchGetTraces",
578
- "xray:GetTraceSegmentDestination"
670
+ "xray:GetTraceSegmentDestination",
671
+ "synthetics:GetCanary",
672
+ "synthetics:GetCanaryRuns",
673
+ "s3:GetObject",
674
+ "s3:ListBucket",
675
+ "iam:GetRole",
676
+ "iam:ListAttachedRolePolicies",
677
+ "iam:GetPolicy",
678
+ "iam:GetPolicyVersion"
579
679
  ],
580
680
  "Resource": "*"
581
681
  }
@@ -0,0 +1,21 @@
1
+ awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
2
+ awslabs/cloudwatch_appsignals_mcp_server/__init__.py,sha256=oy7fMXfGNGbCUq2uMovVhLkDWqcT99EvXKn0eNW3Z7Y,682
3
+ awslabs/cloudwatch_appsignals_mcp_server/audit_presentation_utils.py,sha256=xYJz0I-wdigYKxAaVLjyoMUh2UQpwlZM7sFxfL2pPmw,8923
4
+ awslabs/cloudwatch_appsignals_mcp_server/audit_utils.py,sha256=mcXxVjla0Wnh3ItuSralPFBhRWvhoWLgtvIHcAGJQog,31031
5
+ awslabs/cloudwatch_appsignals_mcp_server/aws_clients.py,sha256=YbUeyz_yz1n5e9EfOYYXSTZNmnkvkVF0iXrByT5aB-A,4726
6
+ awslabs/cloudwatch_appsignals_mcp_server/canary_utils.py,sha256=bymLDQ1kFeNIJwMRcWOLXOd2b0NyWSqmmwMrdXMxqPg,37456
7
+ awslabs/cloudwatch_appsignals_mcp_server/enablement_tools.py,sha256=H99Mhi2dFTAUc2tyz-EDdS3pi9R7lTbc1sR_YE_Z600,7141
8
+ awslabs/cloudwatch_appsignals_mcp_server/server.py,sha256=ZoYd-UgY7jFOsXLnV5gWTKDzFkmbvF2vpqEnHLgbO5Q,67903
9
+ awslabs/cloudwatch_appsignals_mcp_server/service_audit_utils.py,sha256=i-6emomFio4xsVsb5iRWvOzuHI7vo7WXe7VlLMD-qK8,9659
10
+ awslabs/cloudwatch_appsignals_mcp_server/service_tools.py,sha256=iJnkROnR0FdxEgF0LJb5zYNcD-CCSa9LVXwUqxU1_tI,29093
11
+ awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py,sha256=LGs7tDLVVa3mbT_maTefwGEA3cl3fNVft9brh3lVTzM,12374
12
+ awslabs/cloudwatch_appsignals_mcp_server/slo_tools.py,sha256=dMLGqeZYHu2adk9uquBGIZkMZStb-puzlI0xtKhxYNI,17824
13
+ awslabs/cloudwatch_appsignals_mcp_server/trace_tools.py,sha256=SMIaxStaJNZOU4GaAFkUiNXrb978bPTlF7MRBRJVEP8,31785
14
+ awslabs/cloudwatch_appsignals_mcp_server/utils.py,sha256=nZBqiCBAUewQft26FVf4IGL4P1b152VAcG9Y7Mh0gZY,5782
15
+ awslabs/cloudwatch_appsignals_mcp_server/enablement_guides/templates/ec2/ec2-python-enablement.md,sha256=tE2mfcj2rw8p6HcupILG2M6l_7ok7jkO6sAjQKUEmtQ,64
16
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/METADATA,sha256=S_gXxn1y1BLKFlvA7ego6NNuuoxZDMMyi5micfx25Kg,32176
17
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/entry_points.txt,sha256=iGwIMLU6AsBawl2Fhqi9GoeWdMGIVtg86-McaaNQqAQ,114
19
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/licenses/LICENSE,sha256=zE1N4JILDTkSIDtdmqdnKKxKEQh_VdqeoAV2230eNOI,10141
20
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/licenses/NOTICE,sha256=Pfbul2Ga0IJU2RMZFHC8QwDvNk72WO2XMn9l3390VYs,108
21
+ awslabs_cloudwatch_appsignals_mcp_server-0.1.12.dist-info/RECORD,,
@@ -1,18 +0,0 @@
1
- awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
2
- awslabs/cloudwatch_appsignals_mcp_server/__init__.py,sha256=zmAQBvB227-Fwnes1CNk2nNM9eZwfTvbfkycgYypGKk,682
3
- awslabs/cloudwatch_appsignals_mcp_server/audit_presentation_utils.py,sha256=xYJz0I-wdigYKxAaVLjyoMUh2UQpwlZM7sFxfL2pPmw,8923
4
- awslabs/cloudwatch_appsignals_mcp_server/audit_utils.py,sha256=Mqa8q3MUMpDKRFJQgUoKYikknGO4sBIe2_-0e2BWlCA,30765
5
- awslabs/cloudwatch_appsignals_mcp_server/aws_clients.py,sha256=I-amnrnVLGv-gAPkEYo-AxvmqktBjpdEuB1pjeTO1Fs,3542
6
- awslabs/cloudwatch_appsignals_mcp_server/server.py,sha256=nZ_s6lKQBf77Wdy8eyGLYPDmOBGAq1ZNH41BMpdYwQw,41569
7
- awslabs/cloudwatch_appsignals_mcp_server/service_audit_utils.py,sha256=i-6emomFio4xsVsb5iRWvOzuHI7vo7WXe7VlLMD-qK8,9659
8
- awslabs/cloudwatch_appsignals_mcp_server/service_tools.py,sha256=iJnkROnR0FdxEgF0LJb5zYNcD-CCSa9LVXwUqxU1_tI,29093
9
- awslabs/cloudwatch_appsignals_mcp_server/sli_report_client.py,sha256=LGs7tDLVVa3mbT_maTefwGEA3cl3fNVft9brh3lVTzM,12374
10
- awslabs/cloudwatch_appsignals_mcp_server/slo_tools.py,sha256=dMLGqeZYHu2adk9uquBGIZkMZStb-puzlI0xtKhxYNI,17824
11
- awslabs/cloudwatch_appsignals_mcp_server/trace_tools.py,sha256=SMIaxStaJNZOU4GaAFkUiNXrb978bPTlF7MRBRJVEP8,31785
12
- awslabs/cloudwatch_appsignals_mcp_server/utils.py,sha256=nZBqiCBAUewQft26FVf4IGL4P1b152VAcG9Y7Mh0gZY,5782
13
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/METADATA,sha256=JxgaSJRwabngeigjaRlEx3uFMOq-ATyMEZxxN4cQtxQ,27163
14
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
15
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/entry_points.txt,sha256=iGwIMLU6AsBawl2Fhqi9GoeWdMGIVtg86-McaaNQqAQ,114
16
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/licenses/LICENSE,sha256=zE1N4JILDTkSIDtdmqdnKKxKEQh_VdqeoAV2230eNOI,10141
17
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/licenses/NOTICE,sha256=Pfbul2Ga0IJU2RMZFHC8QwDvNk72WO2XMn9l3390VYs,108
18
- awslabs_cloudwatch_appsignals_mcp_server-0.1.10.dist-info/RECORD,,