Skip to content
Development
Skill

/monitoring

OpenStack monitoring operations skill for deploying, configuring, and operating the cloud health monitoring stack. Covers Prometheus metric collection and scrape targets, Grafana dashboard provisioning and visualization, Alertmanager notification channels and routing, alerting

From plugin
gsd-skill-creator
71102 skills61 agents26 commands1 MCP

Claude Code

$ npx -y skills add Tibsfox/gsd-skill-creator --skill monitoring --agent claude-code

SKILL.md

monitoring.SKILL.md
name: openstack-monitoring
description: "OpenStack monitoring operations skill for deploying, configuring, and operating the cloud health monitoring stack. Covers Prometheus metric collection and scrape targets, Grafana dashboard provisioning and visualization, Alertmanager notification channels and routing, alerting rules for service health and resource exhaustion, service endpoint health checks, log aggregation strategies, SLA tracking with availability and response time percentiles, and capacity trend analysis from historical metrics. Use when deploying monitoring via Kolla-Ansible, configuring alert thresholds, troubleshooting blank dashboards, tuning noisy alerts, or analyzing cloud performance trends."
user-invocable: true
allowed-tools: Read Grep Glob
metadata:
  extensions:
    gsd-skill-creator:
      version: 1
      createdAt: "2026-02-22"
      triggers:
        intents:
          - "monitoring"
          - "alerting"
          - "prometheus"
          - "grafana"
          - "metrics"
          - "dashboard"
          - "health check"
          - "SLA"
          - "uptime"
          - "log aggregation"
        contexts:
          - "monitoring openstack cloud"
          - "configuring alerts"
          - "troubleshooting monitoring"
          - "capacity trend analysis"

OpenStack Monitoring Operations

Monitoring is the nervous system of a cloud deployment. Without it, operators fly blind -- problems are discovered by users instead of by automation. The monitoring stack provides continuous visibility into service health, resource utilization, and performance trends. When an operator asks "is the cloud healthy?" the answer comes from monitoring, not from guesswork.

The stack has three pillars: **Prometheus** collects and stores metrics (time-series data from every service, node, and container), **Grafana** visualizes those metrics (dashboards per service, alerting overview, capacity trends), and **Alertmanager** routes notifications when metrics cross thresholds (email, webhook, PagerDuty). Together they form a closed loop: collect, visualize, alert, act.

In NASA SE terms, monitoring maps to **Phase E (Operations & Sustainment)** -- continuous technical assessment through operational health monitoring, SLA tracking, and performance baseline comparison. The SURGEON agent is the primary consumer of this skill, using monitoring data for cloud health assessment. The GUARD agent consumes security-related metrics for posture evaluation.

Deploy

Kolla-Ansible Monitoring Deployment

**globals.yml settings:**

# Enable monitoring stack
enable_prometheus: "yes"
enable_grafana: "yes"

# Optional: enable centralized logging
enable_central_logging: "yes"
enable_fluentd: "yes"

# Grafana admin credentials
grafana_admin_password: "{{ vault_grafana_admin_password }}"

**Deployment:**

# Deploy monitoring alongside other services
kolla-ansible -i inventory deploy --tags prometheus,grafana

# Or as part of full deployment
kolla-ansible -i inventory deploy

**Container verification:**

# Verify all monitoring containers are running
docker ps --filter "name=prometheus" --format "table {{.Names}}\t{{.Status}}"
docker ps --filter "name=grafana" --format "table {{.Names}}\t{{.Status}}"
docker ps --filter "name=alertmanager" --format "table {{.Names}}\t{{.Status}}"
docker ps --filter "name=node_exporter" --format "table {{.Names}}\t{{.Status}}"
# Expected: prometheus_server, grafana, alertmanager, node_exporter (all Up)

# Verify Prometheus is scraping targets
curl -s http://localhost:9090/api/v1/targets | python3 -m json.tool | head -20
# All targets should show "health": "up"

**Prometheus target configuration:**

Kolla-Ansible auto-configures scrape targets for deployed services. Verify the target list:

# Check active targets
curl -s http://localhost:9090/api/v1/targets | python3 -c "
import sys, json
data = json.load(sys.stdin)
for group in data['data']['activeTargets']:
    print(f\"{group['labels'].get('job','unknown'):30s} {group['health']:6s} {group['lastScrape']}\")
"

**Grafana data source setup:**

Kolla-Ansible registers Prometheus as the default Grafana data source. Verify:

# Check Grafana health
curl -s http://localhost:3000/api/health
# Expected: {"commit":"...","database":"ok","version":"..."}

# Check data source
curl -s -u admin:${GRAFANA_PASSWORD} http://localhost:3000/api/datasources
# Should list Prometheus data source

**Initial dashboard import:**

Kolla-Ansible ships default dashboards. For additional dashboards, use Grafana provisioning:

# Dashboards are stored in /etc/kolla/grafana/provisioning/dashboards/
# Add custom dashboards as JSON files to this directory
# Grafana auto-loads on container restart
docker restart grafana

Configure

Prometheus Scrape Targets

Configure scrape jobs for all OpenStack service endpoints and infrastructure components:

**OpenStack API endpoints (per-service):**

| Service | Exporter/Endpoint | Default Port | Metrics | |---------|-------------------|--------------|---------| | Keystone | keystone_exporter or /healthcheck | 5000 | Auth latency, token issuance rate | | Nova | nova_exporter or API /os-services | 8774 | Instance count, hypervisor stats | | Neutron | neutron_exporter or API /v2.0/agents | 9696 | Agent status, network/subnet counts | | Cinder | cinder_exporter or API /os-services | 8776 | Volume count, snapshot stats | | Glance | API /healthcheck | 9292 | Image count, upload throughput | | Swift | swift_exporter | 8080 | Object count, container stats | | Heat | API /healthcheck | 8004 | Stack count, operation success rate | | Horizon | HTTP probe | 443 | Dashboard availability, response time |

**Infrastructure exporters:**

| Component | Exporter | Default Port | Key Metrics | |-----------|----------|--------------|-------------| | HAProxy | haproxy_exporter | 9101 | Backend status, request rate, error rate | | MariaDB | mysqld_e

Read more
@tibsfox
Ships withgsd-skill-creator

An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)

71102 skills61 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
71
Star history of Tibsfox/gsd-skill-creator on GitHub, a chart by star-history.com

Other skills on gsd-skill-creator.

aminet-index

aminet-index

Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when…

aminet-mirror

aminet-mirror

Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about monitoring.

Which coding agents can use monitoring?
monitoring installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.