# synthetic-monitoring-checks

Пишет проверки Grafana Cloud Synthetic Monitoring: скриптовые на k6 и браузерные. Пригодится, когда нужно следить за доступностью логина или оформления заказа из разных регионов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2300 установок · ★ 290
- Автор: grafana
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/grafana/skills/tree/HEAD/skills/grafana-cloud/synthetic-monitoring-checks/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/synthetic-monitoring-checks

## Что делает

Скилл помогает автору проверок Synthetic Monitoring (SM) в Grafana Cloud. SM гоняет k6 как движок доступности: каждое выполнение — одна итерация с одним VU с выбранной локации по расписанию. Успех означает, что путь пользователя работает прямо сейчас из этого региона. Никаких `stages`, разгона VU и `thresholds` здесь нет, потому что это не нагрузочное тестирование.

Главная тонкость, на которой спотыкаются: голый `check()` не валит выполнение. Он лишь пишет метрики `probe_checks_total` и `probe_check_success_rate`, а `probe_success` остаётся единицей. Скилл советует `expect()` из модуля k6-testing или связку `check() || fail()`. Ещё разбирает секреты, детерминированные скрипты, устойчивые браузерные локаторы, локальную проверку через `k6 run`, деплой через UI, API или Terraform и откат.

Перед началом учтите ограничения. `open()`, `fs` и `grpc.load()` не работают — локальные модули придётся вшивать в скрипт. Браузерной проверке на публичных пробах дают 1GB RAM, и тяжёлые страницы падают с `Target has crashed`. UI отклоняет минифицированные браузерные скрипты, такие ставьте через API или Terraform. И это не для нагрузочных тестов: для них нужен плагин `grafana-k6` или Grafana Cloud k6.

## Требования
- Работает с: Grafana, Terraform

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill synthetic-monitoring-checks -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/synthetic-monitoring-checks/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/synthetic-monitoring-checks/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill synthetic-monitoring-checks -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/synthetic-monitoring-checks/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill synthetic-monitoring-checks -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/synthetic-monitoring-checks/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install grafana/skills synthetic-monitoring-checks
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/synthetic-monitoring-checks/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill synthetic-monitoring-checks -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/grafana/skills --path skills/grafana-cloud/synthetic-monitoring-checks
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/synthetic-monitoring-checks/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add grafana/skills --skill synthetic-monitoring-checks -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/grafana/skills/tree/HEAD/skills/grafana-cloud/synthetic-monitoring-checks/SKILL.md

## Когда брать
- написать проверку доступности логина или оформления заказа
- перевести готовый скрипт k6 или спецификацию OpenAPI в проверку SM
- выбрать самый простой подходящий тип проверки вместо браузерной
- заставить провал ассерта реально валить `probe_success`
- проверить скрипт локально перед деплоем и откатить неудачный

## Примеры запросов агенту
- Напиши проверку Synthetic Monitoring для страницы логина, с ассертами через expect()
- Переведи этот скрипт k6 в проверку SM и подскажи, какой тип проверки тут достаточен
- Почему моя проверка не валит probe_success? Посмотри скрипт и поправь ассерты

## Похожие
- [synthetic-monitoring](https://affpapa.org/nevibecode/skills/synthetic-monitoring.md) — скилл · 1000 установок
- [qdrant-monitoring](https://affpapa.org/nevibecode/skills/qdrant-qdrant-monitoring.md) — скилл · 1500 установок
- [monitoring-observability](https://affpapa.org/nevibecode/skills/monitoring-observability.md) — скилл · 493 установки
- [monitoring-operations](https://affpapa.org/nevibecode/skills/monitoring-operations.md) — скилл · 1400 установок
- [cloud-monitoring-notification-channels-configuration](https://affpapa.org/nevibecode/skills/cloud-monitoring-notification-channels-configuration.md) — скилл · 502 установки
- [grafana-dashboards](https://affpapa.org/nevibecode/skills/grafana-dashboards.md) — скилл · 13097 установок

Из того же набора: [grafana/skills](https://affpapa.org/nevibecode/by/grafana/skills.md) — 47 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
