amdresearch/aup-learning-cloud/monitor-aup-learning-cloud
Claude Code and agent skill by amdresearch/aup-learning-cloud
- community
Checking that the SKILL.md file is still in the repository.
Group: Maintain AUP Learning Cloud. Wires AUP Learning Cloud into a Prometheus + Grafana monitoring stack: enables the chart's monitoring resources (ServiceMonitor, authenticated metrics token, Grafana dashboard ConfigMaps, PrometheusRule alerts, and the metrics NetworkPolicy) and connects them to kube-prometheus-stack or an existing Prometheus Operator. Use when the user wants to monitor the Hub, scrape /hub/metrics, set up Prometheus/Grafana/alerts, install kube-prometheus-stack, enable a ServiceMonitor, see the AUP Hub Grafana dashboards, or debug a hub target that is DOWN / Unauthorized / not scraped. Triggers include monitoring.enabled, serviceMonitor, releaseLabel, hubMetrics, allowUnauthenticatedScrape, prometheusRule, grafana.dashboard, kube-prometheus-stack, hub-metrics, hub_spawn_failed_total, hub-metrics-token. Do not use to install/deploy the platform itself (install-/deploy-aup-learning-cloud) or to edit courses/quota (configure-aup-learning-cloud-courses).
Install
npx vskill@latest install amdresearch/aup-learning-cloud/monitor-aup-learning-cloudSKILL.md
Monitor AUP Learning Cloud
Turn on Hub observability: have the chart create the monitoring objects (ServiceMonitor, authenticated token secret, Grafana dashboard ConfigMaps, alert rules, metrics NetworkPolicy) and make a Prometheus Operator stack scrape /hub/metrics so dashboards and alerts light up.
Enable the monitoring.* block in a values overlay and re-apply with Helm. The full value reference, the kube-prometheus-stack install, and troubleshooting are in [reference.md](reference.md).
Prerequisites
- A running (or about-to-deploy) AUP Learning Cloud, plus
helm+kubectl. - Either install
kube-prometheus-stack(reference) or an existing
Prometheus Operator + Grafana you can point at the jupyterhub namespace.
- Know the Prometheus Operator's selector label — the chart stamps `release:
<monitoring.releaseLabel> on ServiceMonitor/PrometheusRule`, and it must match what the operator selects.
Decide the integration
| Situation | Action | |
|---|---|---|
| No monitoring stack yet | Install kube-prometheus-stack as release monitoring in namespace monitoring; keep releaseLabel: monitoring | |
| Existing Prometheus Operator + Grafana | Set monitoring.releaseLabel to the operator's selector; confirm it watches monitoring ns and can scrape jupyterhub |
Workflow
- Ensure a stack exists. Confirm Prometheus Operator + Grafana are running
(install kube-prometheus-stack if not — see reference).
- Enable monitoring values in the overlay. Recommended production shape:
``yaml monitoring: enabled: true namespace: monitoring releaseLabel: monitoring hubMetrics: enabled: true allowUnauthenticatedScrape: false serviceMonitor: enabled: true interval: 15s authorization: enabled: true type: Bearer hubServiceName: prometheus-metrics secret: { create: true, name: "", key: token } grafana: dashboard: { enabled: true } prometheusRule: enabled: true ``
- Keep `releaseLabel` honest. It must equal the operator's rule/monitor
selector or nothing gets scraped.
- Pre-flight the render. `helm template jupyterhub ./runtime/chart -f
runtime/values.yaml -f <overlay> must succeed (the chart validates that hubServiceName exists under hub.services with a matching read:metrics` role).
- Apply.
``bash helm upgrade --install jupyterhub ./runtime/chart -n jupyterhub \ -f runtime/values.yaml -f <overlay> ``
- Verify the objects and the live target:
``bash skills/monitor-aup-learning-cloud/scripts/verify_monitoring.sh ``
It checks the ServiceMonitor, token secret, dashboard ConfigMap, and metrics NetworkPolicy, then port-forwards Prometheus and confirms the hub target is UP. Manual checks are in reference.md.
Authenticated scraping (default, recommended)
/hub/metrics requires a JupyterHub token. The ServiceMonitor authorization block makes the chart create a token secret (<release>-metrics-token) in the monitoring namespace and scrape with a Bearer token. Annotation-based scraping cannot attach the token — leave serviceAnnotations off in production.
Useful Hub metrics
hub_spawn_gpu_total, hub_spawn_failed_total, hub_active_sessions, hub_session_runtime_minutes, hub_spawn_duration_seconds, hub_quota_denied_total, hub_quota_deducted_total, hub_pod_failure_total, hub_repo_clone_failed_total. Alert rules cover hub_spawn_failed_total and hub_pod_failure_total.
Safety
- Do not set `allowUnauthenticatedScrape: true` in production. It exposes
/hub/metrics without a token; only safe in an isolated dev cluster where the endpoint is never reachable via proxy/NodePort/LoadBalancer/Ingress.
- A
helm upgraderestarts the Hub pod (brief login blip) — schedule around a
live class.
- Don't commit any real metrics token; the chart manages the secret.
- Read-only verification (
scripts/verify_monitoring.sh) only port-forwards;
it makes no cluster changes.
Reference
The full monitoring.* value reference, kube-prometheus-stack install, existing-stack reuse, manual verification commands, and troubleshooting: reference.md.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/monitor-aup-learning-cloud/SKILL.md
Popularity
- Repository stars
- 67
- Repository forks
- 18
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/amdresearch/aup-learning-cloud/monitor-aup-learning-cloud)