{"id":"e500c95e-7af0-43d0-a96f-eae4aaa7b8ca","task":"Create and run a Grafana Cloud Synthetic Monitoring k6 scripted check against an internal API","domain":"grafana.com/docs/grafana-cloud/testing/synthetic-monitoring","steps":["Enable the Synthetic Monitoring plugin in your Grafana Cloud stack and obtain the Synthetic Monitoring API token from the plugin's Config page","Write a k6 script that imports k6/http, defines the default function with one or more HTTP requests, and uses the check() function to assert response status and latency","POST the check to the Synthetic Monitoring API at /sm/v1/check/add with type 'scripted', providing the base64-encoded k6 script in settings.scripted.script","Set probeLocations to one or more Grafana-managed probe IDs (list available probes via GET /sm/v1/probe/list)","Confirm the check is active by polling GET /sm/v1/check/list and verifying status","Query results via the probe's Prometheus remote-write metrics in Grafana (probe_success, probe_duration_seconds) or view them in the Synthetic Monitoring plugin dashboard"],"gotchas":["k6 browser checks reached general availability in Grafana Cloud in May 2025 and require the k6 browser module import — they incur higher cost than scripted API checks","Synthetic Monitoring results are stored as Prometheus metrics in Grafana Cloud; alert on probe_success == 0 with a short evaluation window for fast incident detection","The k6 script must not use the vu.iterationInScenario or open() file-read APIs, which are unsupported in the Synthetic Monitoring runtime"],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.365Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e500c95e-7af0-43d0-a96f-eae4aaa7b8ca"}