Слогер Создать блог
Разработка

Vigilmon или AppSignal: что выбрать для мониторинга Ruby-приложений

Разбираемся, чем внешний аптайм-мониторинг отличается от APM, когда нужен каждый инструмент и почему продакшену часто нужны оба.

Если вы держите продакшен на Ruby on Rails или Elixir, рано или поздно встаёт вопрос: как следить за его здоровьем. Два инструмента — Vigilmon и AppSignal — лежат в разных плоскостях, и выбрать между ними можно только поняв, что именно вам нужно.

Что это вообще такое

AppSignal — это APM (Application Performance Monitoring) для Ruby и Elixir. Он встраивается в приложение и показывает внутреннюю картину: медленные запросы к базе, N+1, утечки памяти, упавшие фоновые задачи, исключения и бэктрейсы. Он заточен под Rails и Phoenix.

Vigilmon — внешний мониторинг доступности. Он проверяет ваш сайт, API или сервис снаружи, из нескольких регионов, следит за SSL-сертификатами, временем ответа и будит команду алертами, если что-то упало. Ему не нужен доступ к коду — только URL.

Инструменты решают разные задачи. Но именно поэтому они отлично дополняют друг друга.

Внутри против снаружи

Принципиальная разница — откуда идёт наблюдение. AppSignal работает внутри: его библиотека внедряется в рантайм, собирает метрики по каждому транзакционному запросу, ошибкам и времени выполнения. Он отвечает на вопрос «почему приложение тормозит или падает».

Vigilmon работает снаружи: делает реальные HTTP-запросы к вашему сервису и проверяет, получает ли он правильный ответ. Он не знает, что там у вас в коде, и ему не нужно. Он отвечает на вопрос «доступен ли сервис из интернета» — ровно так, как это видят пользователи.

Это значит, что даже идеально отлаженный APM не покажет, что ваш сервер лежит или DNS перестал резолвиться. А внешний монитор не расскажет, какой именно запрос к базе съедает всю память.

Когда выбирать AppSignal

  • Вы строите приложение на Rails или Elixir/Phoenix и хотите глубинную диагностику.
  • Нужно ловить N+1 запросы, утечки памяти и исключения с бэктрейсами.
  • Хочется видеть разбивку производительности по каждой транзакции.
  • Важна группировка ошибок и связь изменений с деплоями.

AppSignal незаменим, когда проблема уже произошла и нужно найти её корень.

Когда выбирать Vigilmon

  • Нужно знать, доступен ли сайт из внешней сети — не из локалки, а реально из интернета.
  • SSL-сертификат скоро истекает, и вы хотите получать предупреждения заранее.
  • Вы мониторите API, статусные страницы или сервисы, которые вообще не на Ruby/Elixir.
  • Нужны проверки из нескольких регионов, чтобы ловить региональные сбои.
  • Хочется быстрый старт без инструментации кода.

Кстати, Vigilmon бесплатен для старта, а AppSignal начинается от $18 в месяц — для сравнения, если бюджет ограничен.

Сравнение в таблице

ВозможностьVigilmonAppSignal
Внешние проверки доступностиДаНет
Мониторинг из нескольких регионовДаНет
Алерты об истечении SSLДаОграниченно
Мониторинг HTTP/API эндпоинтовДаТолько через APM
Отслеживание времени ответаДаДа (внутреннее)
Ruby APM и трекинг ошибокНетДа
Поддержка Elixir/PhoenixНетДа
Детекция N+1 запросовНетДа
Бэктрейсы исключенийНетДа
Мониторинг фоновых задачДа (через heartbeat)Да (APM)
On-call alertingДаДа
Статусные страницыДаНет
ЦенаБесплатно для стартаОт ~$18/мес

Почему стоит использовать оба

Для продакшен-приложений на Rails или Phoenix связка даёт полную картину. AppSignal видит, что внутри: медленные запросы, исключения, рост памяти. Vigilmon видит, что снаружи: доступность, SSL, региональные сбои.

Часто всплеск ошибок в AppSignal коррелирует с алертом Vigilmon о недоступности. Так вы одновременно получаете сигнал «сайт лёг» и данные для разбора причин. Один без другого оставляет слепую зону.

Как быстро начать с Vigilmon

Внешний мониторинг настраивается за пару минут — никаких изменений в коде.

  1. Создаёте аккаунт и добавляете URL вашего приложения как монитор.
  2. Указываете, куда слать алерты: почта, Slack или PagerDuty.
  3. Vigilmon начинает проверять доступность каждую минуту из нескольких регионов.

Для фоновых задач вроде Sidekiq или Oban есть cron-хартбиты: ваш воркер пингует уникальный URL после каждого запуска. Если хартбит не приходит — Vigilmon алертит, значит что-то застряло.

Коротко

AppSignal отвечает на вопрос «что сломано внутри и почему», Vigilmon — «доступен ли сервис прямо сейчас». Для критичных сервисов берите оба. Если нужен только внешний мониторинг для смешанного стека — Vigilmon чище, без привязки к конкретному рантайму и с бесплатным стартом.

По материалам: dev. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.