Основы мониторинга и оповещения объясняются профессиональным инженером-программистом

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

Важной частью мониторинга и оповещения является скорость и точность. Вы хотите точно знать, когда произошел этот инцидент, и вы хотите узнать о нем как можно больше подробностей. Некоторые из очень важных аспектов состояния системы, о которых вы всегда должны знать, — это доступность системы. Большее время простоя означает больше потерянных денег. Обратите внимание, что это отличается от производительности системы. Хотя более низкая производительность технически означает большую потерю денег, поскольку пользователи, скорее всего, будут уходить от приложения (что является побочным продуктом того, что концентрация внимания людей становится меньше, чем когда-либо).

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

Одним из возможных интересных побочных продуктов мониторинга является автоматизация. Иногда разработчики обнаруживают, что задача занимает слишком много времени, и ее можно каким-то образом автоматизировать и упростить. Хотя в некоторых ситуациях определенно потребуется вмешательство человека, это известно как контроль доступа. Конкретным типом контроля доступа является Большая красная кнопка (BRB) (которая требует «нажатия большой красной кнопки»).

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

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

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

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

Эта статья была вдохновлена ​​этой книгой (которую вы можете купить по этой партнерской ссылке). Честно говоря, качество книг Орейли просто потрясающее.

Для получения дополнительных объяснений концепций разработки программного обеспечения, руководств и многого другого, добавьте свой адрес электронной почты здесь и подпишитесь!