Skip to content
Skillpedia
Deploy & cloud (DevOps)40k · #5017

aws-resource-health-diagnose

Helps your agent diagnose health issues in AWS resources. It analyzes logs and metrics to create a remediation plan.

What it does

This tool helps check the health of Amazon Web Services (AWS) resources, identify issues using logs and metrics, and suggests a plan to fix them.

When to use it

  • ✓When an AWS service isn't working as expected.
  • ✓To understand why an AWS resource is slow or encountering errors.
  • ✓Before making major changes to check the current health status.

Example of what to ask your AI

“Check the health of my Lambda function named 'my-api-function' and tell me how to fix any issues.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/aws-resource-health-diagnose/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/aws-resource-health-diagnose/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool first fetches general information on how to monitor and troubleshoot in AWS. Then, it locates the resource you specified and checks its current status and key metrics. Finally, it analyzes error logs and suggests steps to fix any problems found.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill aws-resource-health-diagnose

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/aws-resource-health-diagnose/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

AWS Resource Health & Issue Diagnosis

This workflow analyzes a specific AWS resource to assess its health status, diagnose potential issues using CloudWatch logs and metrics, and develop a comprehensive remediation plan for any problems discovered.

Prerequisites

  • AWS CLI configured and authenticated
  • Target AWS resource identified (name, type, and optionally region/account)
  • CloudWatch logging and metrics enabled on the target resource

Workflow Steps

Step 1: Get AWS Diagnostic Best Practices

Fetch https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ for monitoring and troubleshooting guidance to inform the diagnostic approach.

Step 2: Resource Discovery & Identification

Locate the target resource using the appropriate AWS CLI command for its type:

# EC2
aws ec2 describe-instances --filters "Name=tag:Name,Values=<name>"
# Lambda
aws lambda get-function --function-name <name>
# RDS
aws rds describe-db-instances --db-instance-identifier <name>
# ECS
aws ecs describe-services --cluster <cluster> --services <name>
# ALB
aws elbv2 describe-load-balancers --names <name>
# DynamoDB
aws dynamodb describe-table --table-name <name>
# SQS
aws sqs get-queue-attributes --queue-url <url> --attribute-names All
# API Gateway
aws apigatewayv2 get-apis

If multiple matches are found, prompt the user to specify region/account.

Step 3: Health Status Assessment

Run service-specific health checks:

# EC2
aws ec2 describe-instance-status --instance-ids <id>

# RDS
aws rds describe-db-instances --db-instance-identifier <name> \
  --query 'DBInstances[0].DBInstanceStatus'

# Lambda - error rate over 24h
aws cloudwatch get-metric-statistics --namespace AWS/Lambda \
  --metric-name Errors --dimensions Name=FunctionName,Value=<name> \
  --start-time $(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%SZ) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
  --period 3600 --statistics Sum

# ECS
aws ecs describe-services --cluster <cluster> --services <name> \
  --query 'services[0].[status,runningCount,desiredCount,pendingCount]'

Key health indicators by service type:

  • Lambda: Error rate, throttle rate, duration P99, concurrent executions
  • RDS: CPU utilization, FreeStorageSpace, DatabaseConnections, ReadLatency/WriteLatency
  • ECS: Running vs desired task count, task stop reason
  • ALB: TargetResponseTime, HTTPCode_ELB_5XX_Count, UnHealthyHostCount
  • SQS: ApproximateNumberOfMessagesNotVisible, ApproximateAgeOfOldestMessage
  • DynamoDB: ConsumedReadCapacityUnits, ThrottledRequests, SuccessfulRequestLatency

Step 4: Log & Metrics Analysis

Find log groups and run CloudWatch Logs Insights queries:

# Find log groups
aws logs describe-log-groups --log-group-name-prefix /aws/<service>/<name>

# Start a query (last 24h errors)
aws logs start-query \
  --log-group-name /aws/lambda/<name> \
  --start-time $(date -u -d '24 hours ago' +%s) \
  --end-time $(date -u +%s) \
  --query-string 'filter @message like /ERROR/ | stats count(*) as errorCount by bin(1h)'

# Get results
aws logs get-query-results --query-id <id>

# Lambda cold starts
aws logs start-query \
  --log-group-name /aws/lambda/<name> \
  --start-time $(date -u -d '24 hours ago' +%s) \
  --end-time $(date -u +%s) \
  --query-string 'filter @type = "REPORT" | filter @initDuration > 0 | stats count() as coldStarts by bin(1h)'

# RDS Performance Insights (if enabled)
aws pi get-resource-metrics \
  --service-type RDS --identifier db:<identifier> \
  --metric-queries '[{"Metric":"db.load.avg"}]' \
  --start-time $(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%SZ) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
  --period-in-seconds 3600

Identify: recurring error patterns, correlation with deployments (CloudTrail), performance trends, dependency failures.

Step 5: Issue Classification & Root Cause Analysis

Severity:

  • Critical: Service unavailable, data loss, security incidents
  • High: Performance degradation, error rates >5%, intermittent failures
  • Medium: Warnings, suboptimal configuration, minor performance issues
  • Low: Informational alerts, optimization opportunities

Root Cause Categories:

  • Configuration Issues: wrong settings, missing env vars, IAM permission denials
  • Resource Constraints: CPU/memory/disk limits, Lambda throttling, RDS connection exhaustion
  • Network Issues: security group rules, VPC routing, DNS, NACLs

…

FAQ

What are 'logs' and 'metrics'?

Logs are like digital diaries that record what happened within a service. Metrics are numerical data showing performance, such as CPU usage or error counts.

Do I need any prerequisites before using this?

Yes, you need to have AWS tools configured on your computer, and the service you want to check must be sending logs and metrics to CloudWatch.

What types of AWS resources can it check?

It can check various types, including EC2 (virtual servers), Lambda (serverless functions), RDS (databases), ECS (containers), ALB (load balancers), DynamoDB (NoSQL database), SQS (message queues), and API Gateway.

Details

Original description by the author

Analyze AWS resource health, diagnose issues from CloudWatch logs and metrics, and create a remediation plan for identified problems.

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5017
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills