From gcx
Manages Grafana Cloud Synthetic Monitoring checks: create, update, pull, push, delete using gcx CLI. Handles HTTP, Ping, DNS, TCP, Traceroute for URLs, hosts, domains with dry-run validation.
npx claudepluginhub grafana/gcx --plugin gcxThis skill is limited to using the following tools:
Manage SM checks using gcx. Experienced operators — no hand-holding.
Views Synthetic Monitoring check health, status, success rates, and timelines using gcx CLI commands. Lists checks, interprets OK/FAILING/NODATA, graphs trends for operators.
Configures synthetic monitoring for uptime checks, transaction flows, and API health using Pingdom, Datadog, or New Relic. Useful for tracking app availability and performance.
Configures Grafana Cloud testing with Synthetic Monitoring for multi-region HTTP/DNS/TCP/ping probes, k6 Cloud distributed load tests, and Faro real user monitoring. Use for uptime checks, API testing, and frontend performance.
Share bugs, ideas, or general feedback.
Manage SM checks using gcx. Experienced operators — no hand-holding.
-o json for agent processing; default table format for user display--dry-run first, actual push only on successgcx synth probes listUse the decision table in references/check-types.md:
| Target | Check Type |
|---|---|
URL (https://..., http://...) | HTTP |
| Hostname or IP (no port) | Ping |
| Domain name (DNS lookup) | DNS |
host:port | TCP |
| URL with routing path analysis | Traceroute |
If unsure, ask the user what they want to test (availability, DNS, port connectivity, routing).
gcx synth probes list
Recommend at least 3 geographically distributed probes. Copy names exactly as shown — case-sensitive. Suggest probes across different continents or regions to provide meaningful coverage (e.g., one each from North America, Europe, Asia-Pacific).
Use the template from references/check-types.md for the chosen type. Scaffold the file locally:
apiVersion: syntheticmonitoring.ext.grafana.app/v1alpha1
kind: Check
metadata:
name: <job-name> # Non-numeric = create; numeric = update
spec:
job: <job-name>
target: <target>
frequency: 60000 # milliseconds; 10000-120000 typical
timeout: 10000 # milliseconds; must be < frequency
enabled: true
labels:
environment: production
team: platform
probes:
- Atlanta
- Frankfurt
- Singapore
alertSensitivity: medium # none, low, medium, high
basicMetricsOnly: false # true = fewer metrics, lower cardinality
settings:
http: {} # Replace with type-specific settings
Configuration guidance:
frequency; typically 5,000–30,000mshigh = alert if >5% failing; medium = >10%; low = >25%; none = no alertstrue reduces metric cardinality (fewer label dimensions); false emits full metrics# Always dry-run first
gcx synth checks push <file.yaml> --dry-run
# Push only after dry-run succeeds
gcx synth checks push <file.yaml>
Push semantics:
metadata.name (e.g., my-api-check): creates a new check; server assigns a numeric ID and updates the local filemetadata.name (e.g., 12345): updates the existing check with that IDAfter creation, verify with:
gcx synth checks list
gcx synth checks status <ID>
Fetch the specific check or all checks:
# Get single check as YAML (use ID from list output)
gcx synth checks get <ID> -o yaml > check-<ID>.yaml
# Or pull all checks to a directory
gcx synth checks pull -d ./sm-checks/
Edit the pulled YAML file (the metadata.name will be the numeric ID). Modify only the fields that need changing.
# Dry-run the update
gcx synth checks push check-<ID>.yaml --dry-run
# Apply
gcx synth checks push check-<ID>.yaml
Pull all checks to local directory, edit in source control, push to apply:
# Pull all checks to directory
gcx synth checks pull -d ./sm-checks/
# Edit files as needed, then push each changed file
gcx synth checks push ./sm-checks/<file>.yaml --dry-run
gcx synth checks push ./sm-checks/<file>.yaml
For bulk push from a directory, push files individually to control which checks are updated. Review dry-run output before each push.
# List checks to confirm IDs
gcx synth checks list
# Delete one or more checks (by numeric ID)
gcx synth checks delete <ID>
# Skip confirmation prompt
gcx synth checks delete <ID> -f
# Delete multiple checks
gcx synth checks delete <ID1> <ID2> <ID3>
Confirm the check identity (job name and target) before deleting — use gcx synth checks get <ID> to review.
After creating or updating:
Check: <job-name>
Target: <target>
Type: <HTTP|Ping|DNS|TCP|Traceroute>
Probes: <count> selected (<list>)
Push: SUCCESS — ID: <assigned-id>
Verify status:
gcx synth checks status <ID>
After pull:
Pulled <N> checks to <dir>/
Files: <list of filenames>
After delete:
Deleted check <ID> (<job-name> -> <target>)
gcx synth probes list and copy names exactly.timeout value or increase frequency.frequency must be between 10,000ms and 120,000ms (10s–2min).gcx synth checks list to find it and update instead of create.gcx synth probes list; if empty, verify gcx context and SM API access.gcx synth checks get <ID> -o yaml.