Как сделать мониторинг

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

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

Назначение мониторинга и использование его в разных сферах помогает закрепиться на рынке и обеспечить себе устойчивость и стабильность. Мониторинг используется с разными целями, сообразно той или иной сфере.

Как правильно провести мониторинг зависит, прежде всего, от понимания нужной перспективы. Степень интенсивности мониторинга напрямую зависит от сферы деятельности вашей компании. Основания для мониторинга могут быть различные. Задачи проведения должны исходить из дальнейших планов развития. Конкурентный, сравнительный, проблемный, базовый мониторинги - составляют необходимость внедрения для любой фирмы на пути ее деятельности.

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

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

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

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

Мониторинг сайта: просто, но эффективно

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

Итак, что же предпринять? Следует ли постоянно отслеживать работу инструментов мониторинга или вообще перестать этим заниматься? Что следует мониторить, и как поддерживать интерес и вовлеченность команды?

Понятие мониторинга

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

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

  • электронное письмо, сообщающее, что объем диска на сервере практически заполнен;
  • уведомление в Slack о неудачной попытке пользователя войти в систему.

Все нацелено на то, чтобы убедиться в доступности сайта для пользователей и минимизировать время простоя, направив силы разработчиков на обнаружение проблемы.

Если вам ранее доводилось настраивать систему мониторинга, то вы знаете, как непросто поддерживать активное внимание и заинтересованность команды в канале Slack, в котором предупреждения об ошибках приходят каждые 30 минут. При этом не всегда есть возможность отфильтровывать только самые важные из них.

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

Вас все глубже затягивает “кроличья нора”, и вот вы не успеваете опомниться — как вдруг перед вами 5 разных панелей мониторинга со всевозможными статистиками, которые никто из команды уже не воспринимает всерьез. И как узнать, сказалось ли все это на рабочем состоянии приложения?

Как же решить проблему?

Обозначим ряд наиважнейших аспектов системы мониторинга.

  • Ничто не должно нарушать непрерывность рабочего потока пользователя.
  • В канале связи должны появляться только самые важные предупреждения об ошибках (например, пользователь больше не может войти в систему).
  • Еженедельный отчет помогает мониторить состояние приложения.
  • Должен быть ответственный за обеспечение времени безотказной работы.

На этих китах должна основываться система мониторинга сайтов/приложений. Приоритетное внимание уделяется пользовательским потокам, и система оповещения сразу же срабатывает при каком-либо воздействии на них. Если в канале Slack будут появляться только самые важные предупреждения, то каждый будет заинтересован в быстром устранении проблемы.

1. Настройка тестов UI, запускаемых согласно графику

Как убедиться в отсутствии воздействия на пользователя? Путем имитации их поведения.

И это осуществимо при условии объединения тестов API и UI. Данные тесты управляются нами или размещаются на онлайн платформе SAAS, которая по умолчанию подключается к инструментам CI и каналами связи.

Написание тестов UI

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

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

Хотя библиотек существует немало, мы рассмотрим две из них, поскольку они напрямую поддерживаются Headless Recorder.

Puppeteer — это библиотека Node.js, разработанная командой Chrome DevTools. Она упрощает тестирование, поскольку общается с браузером посредством DevTools protocol. Эта способность позволяет перехватывать сетевые запросы, необходимые для выявления исходной причины происходящих сбоев. Затем, применяя такую библиотеку, как Jest, можно приступать к тестированию конкретных потоков.

Playwright — библиотека Node.js, разработанная Microsoft. Ее API аналогичен Puppeteer, так что оба отлично подходят для написания тестов UI. Хотите быстро начать программировать пользовательские потоки, воспользуйтесь Jest Playwright.

Убедитесь, что вы работаете в Chrome.

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

Инструменты SAAS

Еще одна возможность заключается в применении инструментов SAAS. Мое внимание привлекли три из них, на которых и предлагаю остановиться. На самом деле их гораздо больше, и методом проб можно выбрать наиболее подходящий для вашей ситуации. Все они позволяют планировать запуски тестов и оповещать команду о неполадках.

Настольное приложение Mabl позволяет всей команде создавать тесты, записывая надлежащее поведение и добавляя по ходу “утверждения” (без знания программирования). Оно предоставляет возможность тестирования веб-сайта на нескольких устройствах и включает множество отличных функциональностей, подчеркивающих пользу данного инструмента.

Однако получить полную информацию о ценах вы сможете только через торгового представителя.


  • (!) Отдельный почтовый ящик на каждое выполнение теста для проверки e-mail.
  • Среды можно разбивать для нескольких платформ.
  • Интеграция со многими инструментами CI и каналами связи.
  • Неточная установка целей для утверждений. Я выбрал в качестве цели div , и программа утверждает, что он находится на странице, проверяя его внутренний текст.
  • Не предоставляется информация о стоимости.

Katalon — один из конкурентов Mabl, но в каком-то смысле они очень похожи. Он также работает как настольное приложение и обеспечивает интеграцию со многими инструментами CI и каналами связи.

При этом в нем заявлено о возможности тестировать нативные приложения (Android/iOS) с помощью Appium. Однако у меня эта функция не заработала, к тому же, судя по недостаточной активности сообщества, я не был уверен, что проблему удастся решить легко.

Katalon выгодно отличается от Mabl тем, что предоставляет полный контроль над селекторами на странице. Вы можете перезаписывать их для элементов, на которые кликаете во время записи сеанса, используя так называемый Web Object Spy.


  • Устаревший и иногда непонятный интерфейс.
  • Не располагает почтовым ящиком для тестов.
  • Предполагает слишком трудоемкий процесс добавления утверждений вручную.

Checkly отличается от обоих ранее рассмотренных инструментов. Это исключительно онлайн-платформа. Для записи потока на сайте применяется расширение Headless Recorder. Оно генерирует скрипт, который затем вставляется в Checkly, что позволяет повторно запустить поток, вызвав его с помощью вебхука или GitHub.

Мне импонирует простота Checkly, и по этой причине для работы я выбрал именно его. Стоит отметить, что наличие у приложения многочисленных потоков может повлиять на увеличение стоимости предоставляемых услуг.


  • Возможность настройки групповых тестов и установки адреса тестовых прогонов.
  • Детальное оповещение по многим каналам.
  • Ежемесячно до 50 тыс. проверок API и 5 тыс. проверок браузера бесплатно.
  • Только нативная интеграция с GitHub.
  • Стоимость услуг может быстро подскочить.

Все представленные ранее инструменты и библиотеки позволяют быстро создать целую библиотеку тестовых потоков, выполняемых по одному клику на кнопку. Кроме того, не обладая знаниями программирования, вы легко можете добавлять новые тесты.

Планирование выполнения

Как только вы написали весь набор тестов, нужно прикинуть, сколько раз в день вы намерены их запускать, например каждые 5 минут или каждые полчаса. Все зависит от стоимости и важности тестов. Вам и вашей команде придется сделать выбор ради достижения оптимальных результатов и подстраховки.

Для планирования запуска наборов тестов можно воспользоваться основными платформами CI, такими как Azure DevOps, GitLab, GitHub или CircleCI. Выбирая один из инструментов SAAS, вы получаете возможность планировать прогоны тестов внутри этих самых инструментов.

2. Настройка оповещений, отображающихся в наиболее часто используемом канале связи

Запустив тесты, убедимся, что мы гарантированно получим своевременное оповещение по факту сбоя. К счастью, другие разработчики уже позаботились о том, чтобы имеющиеся инструменты CI прекрасно интегрировались с каналами связи.

В случае с самописными тестами целесообразно использовать работающий по графику конвейер, который будет запускать их каждые x минут. Azure DevOps, GitHub и GitLab изначально предоставляют услугу оповещения. При обнаружении ошибки в тесте выполняющий его компонент сообщает о ней в канал Slack или Teams.

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

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

3. Создание для команды обзоров об общем состоянии приложения

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

В настоящее время у нас в командах практикуется так называемый “еженедельный обзор”. Он включает два пункта: функциональные показатели (количество отправленных e-mail и уведомлений, число пользователей вошедших/зарегистрировавшихся в системе) и технические (уровни CPU на прошедшей недели или число сбоев приложения iOS)

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

Мы полагаемся на информацию, получаемую в Azures’ Application Insight, Firebase, Mandrill и Twilio. Обобщаем данные из этих источников, сравниваем их с показателями предыдущей недели и в итоге завладеваем намного более ценными сведениями, чем информационная панель, сохраняющая какой-то момент во времени.

Заключение

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

В завершении отметим, что статья не охватывает все сценарии использования. Всегда старайтесь разобраться в работе приложения и следуйте принципу “чем проще, тем лучше”. Всем удачи!

Никита Кравченко

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

В восьмом выпуске проекта поговорим о том, как рационально и эффективно организовать работу со статистикой, данными и отчетами.

Содержание курса

Чтобы узнавать о новых уроках в числе первых, подпишитесь на рассылку — мы будем присылать письма с материалами сразу после их публикации.

Чтобы реклама давала наилучшие результаты, важно отслеживать ее эффективность — не только в пределах одного канала, но и в разных. Например, запустив под одну и ту же акцию рекламу в Яндекс.Директе и в Google Ads, вы можете сравнить, в какой системе кампании принесли лучший результат. Чтобы делать выводы и вносить изменения было проще и удобнее, информацию о рекламе нужно где-то собирать, агрегировать, сводить в едином окне. Для этого вам пригодятся специальные инструменты.

Чем полезны сервисы автоматизации статистики:

  • представляют данные из разных каналов продвижения наглядно и в одном окне; дают возможность сравнивать данные по разным параметрам;
  • позволяют выводить важные метрики на самые заметные позиции и контролировать их по дням и неделям;
  • оптимизируют время и ресурсы специалистов по рекламе со стороны исполнителя и заказчика, а также аналитиков, руководителей — то есть всех, кто работает с отчетами;
  • помогают составлять понятные отчеты о рекламе — и тем самым завоевывать и удерживать лояльность клиентов и руководителей.

Топ-4 полезных инструмента автоматизации аналитики

Каждый специалист по рекламе знает о базовых инструментах для анализа продвижения: Яндекс.Метрике, Universal Analytics и Google Analytics 4. Поэтому мы разберем сервисы из дополнительного инструментария с наиболее качественной визуализацией данных:

  • Google Data Studio;
  • Power BI;
  • Отчеты BI;
  • Мониторинг eLama.

Google Data Studio — бесплатный кроссплатформенный веб-сервис, инструмент визуализации с простым и удобным интерфейсом. Позволяет в одном документе собрать несколько листов под разные цели и задачи — например, руководителя либо клиента и специалиста по рекламе. Можно отдельно визуализировать общие финансовые показатели и подробные метрики по рекламным кампаниям, настроить для разных страниц разные периоды отображения или вывести данные для разных городов. Отчеты формируются в облаке, где ими можно делиться для просмотра или коллективного редактирования.


Google Data Studio. Пример первого листа отчета

На YouTube-канале eLama есть полезный вебинар о том, как с нуля создать в Google Data Studio большой и функциональный дашборд.

Power BI — десктопное приложение для Windows с публикацией отчетов по общедоступной ссылке. Его интерфейс сложнее, чем у Google Data Studio, но возможности шире — это в том числе продвинутая аналитика, интеграция бизнес-метрик и прогнозирование результатов. Сервис имеет бесплатную и платную версии.


Power BI. Пример первого листа отчета

О том, как использовать Power BI, мы подробно рассказываем в вебинаре.

Инструмент Отчеты BI позволяет передавать данные из кабинета eLama в Google Data Studio или Power BI без внешних коннекторов, в которых нужно разбираться и настраивать визуализацию и отчеты под свои задачи.


Отчеты BI от eLama

Для экономии времени и сил пользователя здесь есть несколько преднастроенных шаблонов с готовыми визуализациями. Стандартные шаблоны представляют ключевые показатели из рекламных систем: расход, клики, конверсии и другие. Шаблоны для e-commerce объединяют данные из рекламных систем и электронной коммерции: добавления в корзину, доход, ROMI и так далее. Шаблон для эксперта включает основные метрики, а его внешний вид можно настроить на свое усмотрение.


Отчеты BI: шаблоны

Еще один инструмент eLama — Мониторинг — формирует удобные дашборды, в которые сводит данные из аналитических и рекламных систем, подключенных к eLama. В мониторинге можно выбирать период времени, задавать фильтры как на весь отчет, так и в каждой конкретной визуализации, отбирать самые важные метрики, за которыми вы хотите следить. А также выбирать валюту (в правом верхнем углу) и включать и выключать НДС.


Мониторинг eLama. Избранные метрики: расходы, клики, конверсии и цена конверсии

Если информации пока не достаточно для аналитики, вы можете поработать с демоотчетом: применить разные фильтры, попробовать тот или иной вариант визуализации.


Любые вопросы по работе с инструментами eLama можно задать специалистам нашей Службы Заботы.

Что дает автоматизация мониторинга и отчетности

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

Свой мониторинг на сайте Оценка:

Пользователь офлайн

Romzes


Для начала требуется инклуд SampQueryApi


Теперь часть, которую надо вшить в любую часть PHP страницы

После открываем инклуд SampQueryApi и смотрим функции.

Пример
Играет народу:

Пользователь офлайн

SkyDemon


Пользователь офлайн

Romzes


Пользователь офлайн

Alex-Krashan

Читайте также: