Назад | Перейти на главную страницу

Мониторинг времени безотказной работы каждую секунду - плохо для сервера?

Мне интересно, есть ли преимущества проверки, работает ли сервер, выполняя «HTTP-запрос GET» каждую секунду?

Может ли с этим справиться любой сервер?

Сможет ли с этим справиться "любой" сервер? Наверное.

Стоит ли вам это делать? Возможно нет.

Задайте себе несколько вопросов:

  1. Как быстро вы ответите на сбой?
  2. Сколько просмотров страниц вы обычно получаете в секунду?
  3. Сколько последовательных ошибок вы хотите увидеть, прежде чем называть это «Неисправность» и отправлять предупреждение?
  4. Есть ли у вас какое-либо соглашение об уровне обслуживания с внутренними или внешними клиентами, которое необходимо соблюдать?
  5. Исходя из перечисленных выше вопросов, какое время кажется разумным для мониторинга и ответа?

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

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

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

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

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

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

Большинство коммерческих программ для мониторинга по умолчанию предлагают интервал в 1 или 5 минут. Кажется, это хороший интервал проверки.

Нет ничего плохого в мониторинге сервера каждую секунду, это просто не очень эффективно, особенно на серверах с высокой нагрузкой, где запрос Apache может зависать на пару секунд, вызывая ваши запросы либо на резервное копирование, либо на выдачу ложных предупреждений в этот конкретный момент, но это не неправильно'. Односекундные проверки не заставят вас быстрее реагировать, и в 99,9% всех случаев 10- или 30-секундная проверка не менее важна.

Здесь я на 100% согласен с Джозефом. Если вы все еще хотите проводить какой-то мониторинг в реальном времени, вы можете рассмотреть возможность прослушивания журнала веб-сервера как на наличие ошибок сервера, так и на отсутствие новых записей в журнале в течение определенного периода времени. Это не будет загружать сервер, но запускать оповещения на основе этого - проблема :)

Разрешение в 1 секунду действительно высокое и, вероятно, не нужно. Однако я предпочитаю collectd, поскольку он был разработан для гораздо более высокого разрешения (каждые 10 секунд), чем другие инструменты OSS, такие как munin (5 минут).