{"id":5223,"plugin_id":"plugin_asdk_app_6a624c56bfe081918f7544f7d58f6faf","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:43:36.623Z","digest":"db9d4466251f338ce7e93f3b503074d7a4f341bd7205117800ba8f298ef54ba5","against":null,"payload":{"name":"render-monitor","description":"Monitor Render services in real-time. Check health, performance metrics, logs, and resource usage. Use when users want to check service status, view metrics, monitor performance, or verify deployments are healthy.","included_files":[{"relative_path":"references/metrics-guide.md","size_in_bytes":8133}],"skill_md_contents":"---\nname: render-monitor\ndescription: Monitor Render services in real-time. Check health, performance metrics, logs, and resource usage. Use when users want to check service status, view metrics, monitor performance, or verify deployments are healthy.\nlicense: MIT\ncompatibility: Requires Render MCP tools or CLI\nmetadata:\n  author: Render\n  version: \"1.0.0\"\n  category: monitoring\n---\n\n# Monitor Render Services\n\nReal-time monitoring of Render services including health checks, performance metrics, and logs.\n\n## When to Use This Skill\n\nActivate this skill when users want to:\n- Check if services are healthy\n- View performance metrics\n- Monitor logs\n- Verify a deployment is working\n- Investigate slow performance\n- Check database health\n\n## Prerequisites\n\n**MCP tools (preferred):** Test with `list_services()` - provides structured data\n\n**CLI (fallback):** `render --version` - use if MCP tools unavailable\n\n**Authentication:** If you installed the Render plugin (Cursor, Codex, Claude Code), it provides OAuth for MCP — complete the OAuth prompt. For manual MCP clients, use a Render API key. For CLI, verify with `render whoami -o json`.\n\n**Workspace:** `get_selected_workspace()` or `render workspace current -o json`\n\n> **Note:** MCP tools require the Render MCP server. If unavailable, use the CLI for status and logs; metrics and database queries require MCP.\n\n## MCP Setup\n\nIf `list_services()` fails, set up the Render MCP server. For detailed per-tool walkthroughs, see **render-mcp**.\n\n**Plugin setup:** If the Render plugin is installed, complete Render OAuth when prompted, then reload your tool and retry `list_services()`.\n\n**Manual MCP setup:** Add the Render MCP server to your AI tool's MCP config:\n- **URL:** `https://mcp.render.com/mcp`\n- **Auth header:** `Authorization: Bearer <YOUR_API_KEY>`\n- **API key:** `https://dashboard.render.com/u/*/settings#api-keys`\n\nAfter configuring, restart your tool and retry `list_services()`. Then set your workspace with `list_workspaces()` / `get_selected_workspace()`.\n\n---\n\n## Quick Health Check\n\nRun these 5 checks to assess service health:\n\n```\n# 1. Check service status\nlist_services()\n\n# 2. Check latest deploy\nlist_deploys(serviceId: \"<service-id>\", limit: 1)\n\n# 3. Check for errors\nlist_logs(resource: [\"<service-id>\"], level: [\"error\"], limit: 20)\n\n# 4. Check resource usage\nget_metrics(resourceId: \"<service-id>\", metricTypes: [\"cpu_usage\", \"memory_usage\"])\n\n# 5. Check latency\nget_metrics(resourceId: \"<service-id>\", metricTypes: [\"http_latency\"], httpLatencyQuantile: 0.95)\n```\n\n---\n\n## Service Health\n\n### Check Status\n\n```\nlist_services()\n```\n\n```\nget_service(serviceId: \"<id>\")\n```\n\n### Check Deployments\n\n```\nlist_deploys(serviceId: \"<service-id>\", limit: 5)\n```\n\n| Status | Meaning |\n|--------|---------|\n| `live` | Deployment successful |\n| `build_in_progress` | Building |\n| `build_failed` | Build failed |\n| `deactivated` | Replaced by newer deploy |\n\n### Check Errors\n\n```\nlist_logs(resource: [\"<service-id>\"], level: [\"error\"], limit: 50)\n```\n\n```\nlist_logs(resource: [\"<service-id>\"], statusCode: [\"500\", \"502\", \"503\"], limit: 50)\n```\n\n---\n\n## Performance Metrics\n\n### CPU & Memory\n\n```\nget_metrics(\n  resourceId: \"<service-id>\",\n  metricTypes: [\"cpu_usage\", \"memory_usage\", \"cpu_limit\", \"memory_limit\"]\n)\n```\n\n| Metric | Healthy | Warning | Critical |\n|--------|---------|---------|----------|\n| CPU | <70% | 70-85% | >85% |\n| Memory | <80% | 80-90% | >90% |\n\n### HTTP Latency\n\n```\nget_metrics(\n  resourceId: \"<service-id>\",\n  metricTypes: [\"http_latency\"],\n  httpLatencyQuantile: 0.95\n)\n```\n\n| p95 Latency | Status |\n|-------------|--------|\n| <200ms | Excellent |\n| 200-500ms | Good |\n| 500ms-1s | Concerning |\n| >1s | Problem |\n\n### Request Count\n\n```\nget_metrics(\n  resourceId: \"<service-id>\",\n  metricTypes: [\"http_request_count\"]\n)\n```\n\n### Filter by Endpoint\n\n```\nget_metrics(\n  resourceId: \"<service-id>\",\n  metricTypes: [\"http_latency\"],\n  httpPath: \"/api/users\"\n)\n```\n\nDetailed metrics guide: [references/metrics-guide.md](references/metrics-guide.md)\n\n---\n\n## Database Monitoring\n\n### PostgreSQL Status\n\n```\nlist_postgres_instances()\nget_postgres(postgresId: \"<postgres-id>\")\n```\n\n### Connection Count\n\n```\nget_metrics(resourceId: \"<postgres-id>\", metricTypes: [\"active_connections\"])\n```\n\n### Query Database\n\n```\nquery_render_postgres(\n  postgresId: \"<postgres-id>\",\n  sql: \"SELECT state, count(*) FROM pg_stat_activity GROUP BY state\"\n)\n```\n\n### Find Slow Queries\n\n```\nquery_render_postgres(\n  postgresId: \"<postgres-id>\",\n  sql: \"SELECT query, mean_exec_time FROM pg_stat_statements ORDER BY mean_exec_time DESC LIMIT 10\"\n)\n```\n\n### Key-Value Store\n\n```\nlist_key_value()\nget_key_value(keyValueId: \"<kv-id>\")\n```\n\n---\n\n## Log Monitoring\n\n### Recent Logs\n\n```\nlist_logs(resource: [\"<service-id>\"], limit: 100)\n```\n\n### Error Logs\n\n```\nlist_logs(resource: [\"<service-id>\"], level: [\"error\"], limit: 50)\n```\n\n### Search Logs\n\n```\nlist_logs(resource: [\"<service-id>\"], text: [\"timeout\", \"error\"], limit: 50)\n```\n\n### Filter by Time\n\n```\nlist_logs(\n  resource: [\"<service-id>\"],\n  startTime: \"2024-01-15T10:00:00Z\",\n  endTime: \"2024-01-15T11:00:00Z\"\n)\n```\n\n### Stream Logs (CLI)\n\n```bash\nrender logs -r <service-id> --tail -o text\n```\n\n---\n\n## Quick Reference\n\n### MCP Tools\n\n```\n# Services\nlist_services()\nget_service(serviceId: \"<id>\")\nlist_deploys(serviceId: \"<id>\", limit: 5)\n\n# Logs\nlist_logs(resource: [\"<id>\"], level: [\"error\"], limit: 100)\nlist_logs(resource: [\"<id>\"], text: [\"search\"], limit: 50)\n\n# Metrics\nget_metrics(resourceId: \"<id>\", metricTypes: [\"cpu_usage\", \"memory_usage\"])\nget_metrics(resourceId: \"<id>\", metricTypes: [\"http_latency\"], httpLatencyQuantile: 0.95)\nget_metrics(resourceId: \"<id>\", metricTypes: [\"http_request_count\"])\n\n# Database\nlist_postgres_instances()\nget_postgres(postgresId: \"<id>\")\nquery_render_postgres(postgresId: \"<id>\", sql: \"SELECT ...\")\nget_metrics(resourceId: \"<postgres-id>\", metricTypes: [\"active_connections\"])\n\n# Key-Value\nlist_key_value()\nget_key_value(keyValueId: \"<id>\")\n```\n\n### CLI Commands (Fallback)\n\nUse these if MCP tools are unavailable:\n\n```bash\n# Service status\nrender services -o json\nrender services instances <service-id>\n\n# Deployments\nrender deploys list <service-id> -o json\n\n# Logs\nrender logs -r <service-id> --tail -o text          # Stream logs\nrender logs -r <service-id> --level error -o json   # Error logs\nrender logs -r <service-id> --type deploy -o json   # Build logs\n\n# Database\nrender psql <database-id>                           # Connect to PostgreSQL\n\n# SSH for live debugging\nrender ssh <service-id>\n```\n\n### Healthy Service Indicators\n\n| Indicator | Healthy | Warning | Critical |\n|-----------|---------|---------|----------|\n| Deploy Status | `live` | `update_in_progress` | `build_failed` |\n| Error Rate | <0.1% | 0.1-1% | >1% |\n| p95 Latency | <500ms | 500ms-2s | >2s |\n| CPU Usage | <70% | 70-90% | >90% |\n| Memory Usage | <80% | 80-95% | >95% |\n\n---\n\n## References\n\n- **Metrics guide:** [references/metrics-guide.md](references/metrics-guide.md)\n\n## Related Skills\n\n- **render-deploy** — Deploy new applications to Render\n- **render-debug** — Diagnose and fix deployment failures\n- **render-mcp** — MCP server setup and tool catalog\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}