Как не костыльно внедрить мониторинг функциональности на продакшн?

Поставили задачу: “Внедрить мониторинг работоспособности критически важного функционала и своевременное оповещение”. По сути это значит “внедрить мониторинг для важного функционала интернет-магазина gsmserver.com, а именно: добавление товара в корзину, оформление заказа”

Бывал на конференциях на которых частично обсуждались подобные вопросы. Но никогда не слышал как это делают и с помощью чего.

Я себе первоначально это представляю как не браузерные тесты, а тесты нашей апишки. Которые запускаются каждые 10 минут по крону. Думал это сделать на #java с использованием rest-assured. Но возможно это не правильный подход, есть специальные инструменты для этого, пусть и на другом языке, возможно на #python

Хотелось бы сразу отбросить претензии типа: “Оно не нужно, если есть автоматизация”, “Вы что не тестируете до релиза”. Автоматизация есть и работает, тестируем до релиза и после релиза. Но заказчикам хочется быть более уверенными в работоспособности их бизнеса каждые 10 минут

Интересует прежде всего, с помощью каких инструментов лучше это сделать, как это кто делает, язык, фреймворк, как нотификацию можно сделать. Или просто подскажите, что искать в просторах, поскольку редко сталкивался с подобными темами и как их обычно решают, поэтому и не знаю что искать

Заранее благодарю за помощь :slight_smile:

Почему?

Не браузерные тесты быстрее и надёжнее
Но это предположение, возможно ложное. Мне хочется узнать как обычно это делают и как правильно :slight_smile:

Обычно делают то, что хочет заказчик :slight_smile:
Если вашему заказчику важно мониторить api - тестируйте api.
А если ему важно, что пользователь имеет возможность нажать на кнопку “Купить” - у вас вариантов не много.

3 лайка

По-разному можно. Лично знаю парней, у которых мониторинг интернетмагазина реализован на AutoIt скриптах. Все довольны.
И думаю, что все же правильно делать это через gui, а не api. Много раз был свидетелем, как слетал интерфейс, а сервер прекрасно обрабатывал все запросы.

Соглашусь с @vmaximv. Узнай подробнее, что и как заказчик хочет увидеть и главное зачем ему это нужно, тогда будет больше понимания как это сделать. А сделать можно многими способами, золотого универсального правила нет.

У меня когда-то была такая реализация на #python :

  • дергаю #api
  • проверяю все что нужно
  • если упало, отсылаю емейл и сообщение в чат
  • запуск производился по крону