synthetic-monitoring-agent — это User-Agent, который используется системой Grafana Synthetic Monitoring. Это не безымянный мониторинговый бот: оператором является Grafana Labs, а сам агент — открытый компонент Synthetic Monitoring, выполняющий проверки удалённых сайтов, API и сетевых сервисов.
Grafana Synthetic Monitoring работает по принципу blackbox-мониторинга: специальные probes обращаются к заданной цели извне, измеряют доступность, задержки и корректность ответа, после чего отправляют метрики и логи в Grafana Cloud. Проверки могут выполняться из публичных точек Grafana или с private probes, которые организация разворачивает самостоятельно.
| Параметр | Значение |
|---|---|
| Название | synthetic-monitoring-agent |
| Оператор | Grafana Labs / пользователь Grafana Synthetic Monitoring |
| Категория | Мониторинг доступности и производительности |
| Основной UA-токен | synthetic-monitoring-agent |
| Назначение | HTTP/HTTPS и другие синтетические проверки удалённых целей |
| SEO-назначение | Нет |
| Индексирует сайт | Нет |
| Типичная политика | Allow, если проверка ваша или ожидаемая; иначе Monitor / Rate Limit / Block по необходимости |
Как выглядит настоящий User-Agent Grafana
В документации Grafana приведён формат User-Agent, который Synthetic Monitoring отправляет по умолчанию:
synthetic-monitoring-agent/v0.41.3 (linux amd64; ...; ...; +https://github.com/grafana/synthetic-monitoring-agent)
Версия, платформа, идентификаторы сборки и дата могут меняться. Поэтому для обнаружения обычно достаточно искать токен synthetic-monitoring-agent, но для верификации полезно анализировать всю строку.
Важная особенность: владелец HTTP-check в Grafana может переопределить User-Agent. Следовательно, отсутствие стандартной строки не означает отсутствие Grafana Synthetic Monitoring, а наличие строки само по себе ещё не доказывает происхождение запроса.
Зачем synthetic-monitoring-agent приходит на сайт
Основная задача агента — не читать контент и не индексировать страницы, а проверять состояние заданной цели. Владелец мониторинга заранее указывает URL или endpoint, после чего probe периодически выполняет проверку.
На практике запросы могут идти к:
/— проверка доступности сайта;/health,/healthzили/ready— health-check приложения;/status— страница или endpoint состояния;- API endpoint;
- странице авторизации;
- критичной посадочной странице;
- отдельному сервису или микросервису.
Поэтому один и тот же URL может запрашиваться с очень ровным интервалом — например, каждую минуту или каждые несколько минут. Для мониторинга это нормальное поведение.
Что умеет Grafana Synthetic Monitoring
Называть synthetic-monitoring-agent только «проверкой сайта по HTTP» слишком узко. Система Grafana поддерживает разные виды синтетических проверок, включая HTTP/HTTPS, DNS, TCP, Ping, Traceroute, gRPC, scripted и browser checks. Последние позволяют имитировать более сложные сценарии взаимодействия с приложением.
Для владельца сайта это означает, что трафик мониторинга не всегда выглядит как простой одиночный GET-запрос. В зависимости от настроенного сценария возможны обращения к нескольким endpoint или выполнение более сложной проверки.
Подключите домен и посмотрите живую ленту: кто пришёл, с какой сети, что запрашивал и по какому правилу был пропущен или заблокирован.
Почему synthetic-monitoring-agent появляется в access.log
Если настроена HTTP/HTTPS-проверка, запрос проходит через обычную инфраструктуру сайта — CDN, reverse proxy, WAF и веб-сервер — и поэтому попадает в access.log практически так же, как запрос браузера.
При этом поведение заметно отличается от обычного пользователя:
- нет естественной навигации по сайту;
- одни и те же URL повторяются через стабильные интервалы;
- может отсутствовать обычная браузерная сессия;
- нет переходов из поисковой выдачи;
- нет SEO-обхода ссылочного графа;
- запросы могут приходить круглосуточно.
Именно поэтому TrafficVeil должен классифицировать такой трафик отдельно от реальных посетителей.
Как найти synthetic-monitoring-agent в логах
Базовый поиск для Nginx:
grep -i "synthetic-monitoring-agent" /var/log/nginx/access.log
Самые часто проверяемые URL:
grep -i "synthetic-monitoring-agent" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -30
Топ IP:
grep -i "synthetic-monitoring-agent" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -30
Коды ответа:
grep -i "synthetic-monitoring-agent" /var/log/nginx/access.log | awk '{print $9}' | sort | uniq -c | sort -rn
Для мониторинга особенно полезно посмотреть интервалы между запросами. Если один endpoint запрашивается с практически одинаковой периодичностью, это сильный поведенческий признак synthetic check.
Как проверить, действительно ли это Grafana
User-Agent нельзя считать криптографическим доказательством происхождения запроса. Любой HTTP-клиент способен отправить строку synthetic-monitoring-agent.
Для TrafficVeil лучше использовать несколько сигналов:
- User-Agent. Соответствует ли строка известному формату Grafana.
- IP и ASN. Откуда фактически пришёл запрос.
- Частота. Есть ли характерная периодичность.
- URL. Проверяется один или небольшой набор ожидаемых endpoint либо происходит хаотичный обход сайта.
- Fingerprint. Совпадает ли технический профиль клиента с ранее наблюдаемыми проверками.
- История. Насколько стабильно ведёт себя источник во времени.
Есть ещё одна причина не делать слишком жёсткую проверку только по ASN: Grafana поддерживает private probes. Компания может запустить Synthetic Monitoring Agent в собственной инфраструктуре, поэтому легитимный запрос способен приходить с её собственного сервера, облачного провайдера или другого ASN.
Как отличить мониторинг от поддельного User-Agent
| Признак | Нормальный synthetic check | Подозрительное поведение |
|---|---|---|
| URL | Один или несколько заранее определённых endpoint | Массовый перебор страниц и служебных путей |
| Интервал | Стабильный и повторяемый | Хаотичные всплески |
| Методы | Соответствуют задаче проверки | Неожиданный перебор методов и параметров |
| Пути | /, /health, /status, API или заданный URL | /.env, backup, phpMyAdmin, случайные админки |
| Объём обхода | Небольшой набор целей | Тысячи несвязанных URL |
| Поведение | Предсказуемое | Похоже на vulnerability scanning |
Если клиент называется synthetic-monitoring-agent, но перебирает секретные файлы, панели администрирования или известные уязвимые пути, TrafficVeil не должен автоматически выдавать ему доверенный статус.
Нужно ли учитывать robots.txt
Для этого агента robots.txt — не основной механизм управления. Synthetic Monitoring не является поисковым краулером, который обнаруживает ссылки и индексирует сайт. Probe обращается к URL, который был задан в конфигурации проверки.
Поэтому правило вида:
User-agent: synthetic-monitoring-agent
Disallow: /
не следует считать надёжным способом остановки synthetic check. Если запросы действительно необходимо прекратить, используйте WAF, reverse proxy, веб-сервер или настройки самого мониторинга.
Можно ли блокировать synthetic-monitoring-agent
Да, но сначала стоит выяснить, кому принадлежит проверка. Если это ваш мониторинг, блокировка приведёт к ложному сигналу о недоступности сайта. Grafana увидит 403 или другой отказ вместо ожидаемого ответа, и настроенные уведомления могут начать сообщать о проблеме, которой на самом деле нет.
Простой запрет в Nginx:
if ($http_user_agent ~* "synthetic-monitoring-agent") {
return 403;
}
Для Apache:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} synthetic-monitoring-agent [NC]
RewriteRule ^ - [F,L]
Блокировка только по User-Agent подходит как простое административное правило, но не как надёжная идентификация источника.
Allow, Rate Limit или Block
| Ситуация | Действие |
|---|---|
| Это ваш Grafana Synthetic Monitoring | Allow |
| Это проверка подрядчика или вашей DevOps-команды | Allow после подтверждения |
| Мониторинг нужен, но генерирует слишком много запросов | Изменить частоту проверки или применить аккуратный Rate Limit |
| Источник неизвестен, но нагрузка минимальна | Monitor и выяснить происхождение |
| Чужая ненужная проверка | Block или Rate Limit |
| UA подделан и источник ведёт себя как сканер | Классифицировать по фактическому поведению и блокировать при необходимости |
Как обрабатывать synthetic-monitoring-agent в TrafficVeil
В энциклопедии TrafficVeil его логично относить к категории «Мониторинг доступности» и указывать подтверждённого оператора — Grafana Labs. Однако статус «легитимный» не должен автоматически означать безусловный allow для любого запроса с таким UA.
Оптимальная логика:
- распознать стандартный User-Agent Grafana;
- показать IP, ASN и организацию;
- определить тип сети;
- проанализировать частоту запросов;
- показать проверяемые URL;
- сравнить fingerprint с предыдущими запросами;
- обнаруживать аномалии, несовместимые с обычным мониторингом;
- позволить владельцу домена добавить подтверждённый probe в allowlist.
Особенно полезно выделять собственные monitoring probes отдельно от общего bot traffic. Тогда запросы проверки доступности не будут искажать статистику реальных посетителей и одновременно останутся видимыми в технической аналитике.
Что будет, если случайно заблокировать свой мониторинг
Это одна из наиболее важных особенностей этой категории ботов. Для поискового краулера блокировка обычно влияет на индексирование. Для monitoring agent последствия другие: система мониторинга начинает считать сервис недоступным или неисправным.
В результате возможны:
- ложные downtime-события;
- ошибочные alerts;
- ухудшение рассчитанного uptime;
- ложные нарушения внутреннего SLA/SLO;
- ненужные уведомления DevOps-команды.
Поэтому перед блокировкой стоит проверить, не принадлежит ли probe вашей организации, хостингу, подрядчику или системе наблюдаемости.
Итог
synthetic-monitoring-agent — это идентификатор Grafana Synthetic Monitoring Agent, а не неизвестный универсальный бот. Его задача — выполнять синтетические проверки сайтов и сервисов и передавать результаты в систему мониторинга.
Для TrafficVeil правильная базовая классификация — легитимный бот мониторинга. Но доверять только имени User-Agent нельзя: строку можно подделать, Grafana позволяет изменять UA, а private probes могут работать практически из любой инфраструктуры.
Поэтому решение должно учитывать контекст. Если это ваш probe — разрешите его и при необходимости внесите подтверждённый источник в allowlist. Если источник неизвестен — сначала проанализируйте IP, ASN, периодичность, URL и fingerprint. Если под именем monitoring agent скрывается сканирование или другая аномальная активность, классифицируйте и ограничивайте трафик по реальному поведению.
Частые вопросы
Что такое synthetic-monitoring-agent?
Кому принадлежит synthetic-monitoring-agent?
Как выглядит User-Agent synthetic-monitoring-agent?
Что проверяет Grafana Synthetic Monitoring?
Нужно ли блокировать synthetic-monitoring-agent?
Можно ли считать любой запрос с таким User-Agent легитимным?
Команда TrafficVeil разрабатывает инструменты защиты сайтов от ботов, DDoS и веб-атак. Разборы ботов пишем по логам подключённых доменов и открытым данным операторов.