Agent skill

monitoring-sites

Use this skill for monitoring website health, checking uptime, SSL certificates, performance, or managing client site portfolio. Runs health checks across all managed sites, alerts on issues, and tracks site status. Invoke for site monitoring, health checks, uptime verification, or portfolio status reviews.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/monitoring-sites

SKILL.md

Site Monitoring System

Monitor health and status of all managed client sites.

Managed Sites Portfolio

Site Platform Hosting Profile Status Page
support-forge.com Next.js GCP Cloud Run support-forge -
vineyardvalais.com Next.js Amplify default -
witchsbroomcleaning.com Static S3/CloudFront default -
sweetmeadow-bakery.com Next.js Amplify sweetmeadow -
homebasevet.com Static S3 default -
jpbailes.com Next.js GCP Cloud Run support-forge -

Quick Health Check

All Sites Status

bash
# Quick ping check for all sites
for site in support-forge.com vineyardvalais.com witchsbroomcleaning.com sweetmeadow-bakery.com homebasevet.com jpbailes.com; do
  status=$(curl -s -o /dev/null -w "%{http_code}" "https://$site")
  echo "$site: $status"
done

Individual Site Check

bash
# Full health check for single site
SITE="support-forge.com"

# HTTP Status
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" "https://$SITE"

# Response time
curl -s -o /dev/null -w "Response Time: %{time_total}s\n" "https://$SITE"

# SSL Check
echo | openssl s_client -servername $SITE -connect $SITE:443 2>/dev/null | openssl x509 -noout -dates

# DNS Check
nslookup $SITE

Health Check Checklist

Daily Checks (Automated)

□ All sites responding (200 OK)
□ SSL certificates valid
□ Response time < 3 seconds
□ No error pages

Weekly Checks

□ SSL expiry > 14 days
□ Domain expiry checked
□ Backup verification
□ Performance review
□ Error log review

Monthly Checks

□ Full performance audit
□ Security scan
□ Content freshness
□ Analytics review
□ Hosting costs review

Site-Specific Details

support-forge.com

Type: Next.js Monorepo (Docker)
Hosting: GCP Cloud Run
Project: support-forge
Region: us-central1
Direct URL: https://support-forge-301352865144.us-central1.run.app

Deploy:
cd ~/support-forge-app
gcloud run deploy support-forge --source . --region us-central1 --allow-unauthenticated --project support-forge

Health Endpoints:
- https://support-forge.com (main)
- https://support-forge.com/client-setup/index.html

DR Backup: EC2 ({LEGACY_EC2_IP}) - Legacy, deprecated
DR Plan: ~/support-forge-app/Support_Forge_DR_Plan.pdf

vineyardvalais.com

Type: Next.js
Hosting: AWS Amplify
Profile: default
App ID: [check Amplify console]

Deploy: Push to main branch (auto-deploy)

Check Status:
aws amplify list-apps --profile default

witchsbroomcleaning.com

Type: Static HTML
Hosting: S3 + CloudFront
Profile: default
Bucket: [check S3]

Deploy: aws s3 sync ./dist s3://[bucket] --profile default
Invalidate: aws cloudfront create-invalidation --distribution-id [id] --paths "/*"

sweetmeadow-bakery.com

Type: Next.js
Hosting: AWS Amplify
Profile: sweetmeadow
App ID: dqa0p0t9xllsd

Deploy: Push to main branch (auto-deploy)

Check Status:
aws amplify get-app --app-id dqa0p0t9xllsd --profile sweetmeadow

homebasevet.com

Type: Static
Hosting: S3
Profile: default
Bucket: homebasevet-staging

Deploy: aws s3 sync ./dist s3://homebasevet-staging --profile default

jpbailes.com / me.jbailes.com

Type: Next.js
Hosting: GCP Cloud Run
Project: support-forge
Region: us-central1
Service: jpbailes
Direct URL: https://jpbailes-301352865144.us-central1.run.app

Deploy:
cd ~/me.jbailes.com
gcloud run deploy jpbailes --source . --region us-central1 --allow-unauthenticated --project support-forge

DR Backup: Render.com (jpbailes.onrender.com)
DR Plan: ~/me.jbailes.com/JPbailes_DR_Plan.md

SSL Certificate Monitoring

Check SSL Expiry

bash
# Check single site
echo | openssl s_client -servername support-forge.com -connect support-forge.com:443 2>/dev/null | openssl x509 -noout -enddate

# Check all sites
for site in support-forge.com vineyardvalais.com witchsbroomcleaning.com sweetmeadow-bakery.com homebasevet.com jpbailes.com; do
  expiry=$(echo | openssl s_client -servername $site -connect $site:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
  echo "$site: $expiry"
done

SSL Renewal

  • Amplify sites: Auto-renewed by AWS
  • S3/CloudFront: ACM auto-renews
  • EC2 (support-forge.com): Let's Encrypt via certbot
    bash
    # On EC2 server
    sudo certbot renew
    docker-compose restart nginx
    

Performance Monitoring

PageSpeed Check

Sites to check monthly:
1. https://pagespeed.web.dev/analysis?url=https://support-forge.com
2. https://pagespeed.web.dev/analysis?url=https://vineyardvalais.com
3. https://pagespeed.web.dev/analysis?url=https://witchsbroomcleaning.com
4. https://pagespeed.web.dev/analysis?url=https://sweetmeadow-bakery.com
5. https://pagespeed.web.dev/analysis?url=https://homebasevet.com

Target Metrics

Metric Target Warning Critical
Response Time < 1s 1-3s > 3s
TTFB < 200ms 200-600ms > 600ms
LCP < 2.5s 2.5-4s > 4s
PageSpeed Score > 90 70-90 < 70

Uptime Monitoring (Free Tools)

UptimeRobot (Recommended)

Freshping

StatusCake

Error Monitoring

Check Error Logs

EC2 (support-forge.com):

bash
ssh -i ~/.ssh/support-forge-key.pem ubuntu@{LEGACY_EC2_IP}
docker-compose logs --tail=100 web
docker-compose logs --tail=100 nginx

Amplify Sites:

bash
# Check build logs
aws amplify list-jobs --app-id [APP_ID] --branch-name main --profile [PROFILE]

Common Issues & Fixes

Issue Symptom Fix
Site down 502/503 error Restart containers/services
SSL error Certificate warning Renew SSL cert
Slow load > 3s response Check server resources, optimize
404 errors Broken links Fix links or add redirects
Build failed Amplify error Check build logs, fix code

Incident Response

Site Down Protocol

1. VERIFY
   - Check from multiple locations
   - Confirm not local network issue

2. IDENTIFY
   - Check server status
   - Review error logs
   - Check recent deployments

3. COMMUNICATE
   - Notify client if extended outage
   - Update status if applicable

4. RESOLVE
   - Apply fix
   - Verify site is back

5. DOCUMENT
   - Log incident
   - Root cause analysis
   - Prevention measures

Quick Restart Commands

EC2 Docker (support-forge.com):

bash
ssh -i ~/.ssh/support-forge-key.pem ubuntu@{LEGACY_EC2_IP}
cd /home/ubuntu/support-forge-app
docker-compose restart
# or full rebuild:
docker-compose down && docker-compose up -d --build

Amplify (trigger redeploy):

bash
aws amplify start-job --app-id [APP_ID] --branch-name main --job-type RELEASE --profile [PROFILE]

Status Dashboard Template

SITE STATUS DASHBOARD
=====================
Last Updated: [Timestamp]

SITE                      STATUS    RESPONSE   SSL EXPIRY
─────────────────────────────────────────────────────────
support-forge.com         ✓ UP      0.8s       45 days
vineyardvalais.com        ✓ UP      1.2s       90 days
witchsbroomcleaning.com   ✓ UP      0.5s       60 days
sweetmeadow-bakery.com    ✓ UP      1.1s       90 days
homebasevet.com           ✓ UP      0.4s       30 days
jpbailes.com              ✓ UP      0.9s       90 days

RECENT INCIDENTS
────────────────
[Date] - [Site] - [Issue] - [Resolution]

UPCOMING MAINTENANCE
────────────────────
[Date] - [Site] - [Planned work]

Quick Commands

"Check all sites" → Run health check on entire portfolio

"Status of [domain]" → Detailed status for single site

"SSL expiry check" → Check SSL certificates for all sites

"Restart [site]" → Restart/redeploy specific site

"Performance report" → Run PageSpeed checks on all sites

Didn't find tool you were looking for?

Be as detailed as possible for better results