0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Давайте представим, что у нас есть мониторинг серверов, и выглядит он вполне адекватно: и памяти много, и нагрузка на процессор незначительна. Но это еще далеко не все, ведь если сегодня оборудование неплохо организовано и работает как часы, то завтра можно столкнуться с ситуацией, когда все упало, программы не запущены, а ваши клиенты не могут попасть на сервер. Чтобы такой ситуации не допустить, требуется<strong>мониторинг состояния приложений</strong>.</p>
1
<p>Давайте представим, что у нас есть мониторинг серверов, и выглядит он вполне адекватно: и памяти много, и нагрузка на процессор незначительна. Но это еще далеко не все, ведь если сегодня оборудование неплохо организовано и работает как часы, то завтра можно столкнуться с ситуацией, когда все упало, программы не запущены, а ваши клиенты не могут попасть на сервер. Чтобы такой ситуации не допустить, требуется<strong>мониторинг состояния приложений</strong>.</p>
2
<p>У любого программного приложения должны существовать<strong>параметры</strong>, по которым админы и разработчики понимают, что приложение работает, и в нем происходят определенные процессы. При этом каждая программа имеет свои параметры. Как вы уже, наверное, догадались, речь идет о<strong>метриках приложений</strong>.</p>
2
<p>У любого программного приложения должны существовать<strong>параметры</strong>, по которым админы и разработчики понимают, что приложение работает, и в нем происходят определенные процессы. При этом каждая программа имеет свои параметры. Как вы уже, наверное, догадались, речь идет о<strong>метриках приложений</strong>.</p>
3
<p>Ниже представлены примеры, позволяющие понять, какие именно метрики можно использовать для мониторинга состояния приложения: • число запросов в единицу времени: час, день, минута, секунда - все зависит от объема трафика; • число активных юзеров в системе в единицу времени; • число разных записей в СУБД - как записей в целом, так и новых записей в единицу времени; • число успешно отловленных и зарегистрированных ошибок.</p>
3
<p>Ниже представлены примеры, позволяющие понять, какие именно метрики можно использовать для мониторинга состояния приложения: • число запросов в единицу времени: час, день, минута, секунда - все зависит от объема трафика; • число активных юзеров в системе в единицу времени; • число разных записей в СУБД - как записей в целом, так и новых записей в единицу времени; • число успешно отловленных и зарегистрированных ошибок.</p>
4
<p>Представим, что у вас в системе сотня-две активных пользователей, генерирующих тысячу запросов в минуту, причем случается всего одна ошибка в час. Вроде бы не страшно. А если три активных пользователя, генерирующих 10 000 запросов/мин. и получающих 5 000 ошибок? Пожалуй, уже можно забеспокоиться, причем даже в том случае, если метрики нагрузки на диски и процессор в порядке.</p>
4
<p>Представим, что у вас в системе сотня-две активных пользователей, генерирующих тысячу запросов в минуту, причем случается всего одна ошибка в час. Вроде бы не страшно. А если три активных пользователя, генерирующих 10 000 запросов/мин. и получающих 5 000 ошибок? Пожалуй, уже можно забеспокоиться, причем даже в том случае, если метрики нагрузки на диски и процессор в порядке.</p>
5
<p>Для мониторинга на таком уровне подойдет<strong>специализированная СУБД</strong>, например: - Prometheus, - Graphite, - InfluxDB.</p>
5
<p>Для мониторинга на таком уровне подойдет<strong>специализированная СУБД</strong>, например: - Prometheus, - Graphite, - InfluxDB.</p>
6
<p>С инсталляцией самой БД проблем не будет, а вот чтобы посчитать и пробросить необходимые метрики в базу, придется попотеть, то есть потребуются усилия специалистов.</p>
6
<p>С инсталляцией самой БД проблем не будет, а вот чтобы посчитать и пробросить необходимые метрики в базу, придется попотеть, то есть потребуются усилия специалистов.</p>
7
<p>Для повышения удобства анализа к этим базам желательно подключить графический инструмент для отображения метрики и статистики -<strong>Grafana.</strong></p>
7
<p>Для повышения удобства анализа к этим базам желательно подключить графический инструмент для отображения метрики и статистики -<strong>Grafana.</strong></p>
8
<p>Существуют и другие специфические системы отлова ошибок в программном коде - они позволяют вовремя оповестить разработчиков о ситуации, которая может привести к сбою. Порой этого более чем достаточно для базовой диагностики проблем. Один из примеров такой системы -<strong>Sentry.</strong></p>
8
<p>Существуют и другие специфические системы отлова ошибок в программном коде - они позволяют вовремя оповестить разработчиков о ситуации, которая может привести к сбою. Порой этого более чем достаточно для базовой диагностики проблем. Один из примеров такой системы -<strong>Sentry.</strong></p>
9
<p><em>Статья подготовлена по материалам блога MCS.Mail.ru.</em></p>
9
<p><em>Статья подготовлена по материалам блога MCS.Mail.ru.</em></p>
10
10