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

Какие показатели мне следует отслеживать на своем Linux-сервере?

Мне поставили задачу настроить мониторинг 300 серверов, заниматься разными делами. Я изучал различные инструменты, такие как Nagios, Munin и другие, так что я получил довольно хорошее представление о том, как я могу достичь мониторинга в первую очередь.

Что мне интересно, какие метрики обычно следует отслеживать в качестве хорошего значения по умолчанию в случае, когда я мало знаю о сервере? И что такое «нормальные значения по умолчанию» с точки зрения предупреждений?

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

Этот вопрос также можно задать по-другому:

Если вы разрабатывали устройство мониторинга - что должен содержать его шаблон мониторинга Linux по умолчанию?

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

Стандартные уровни предупреждений, которые я использовал, включают (предупреждение, критическое). Возможно, вы захотите скорректировать свои значения с учетом ряда факторов. Более высокие значения уменьшают количество предупреждений, а более низкие значения дают вам больше времени для реакции на возникающие проблемы. Это может быть подходящей отправной точкой для шаблона.

  • Устойчивое использование ЦП (80%, 100%). Исключите время для аккуратных процессов.
  • Средняя нагрузка на процессор (2, 5).
  • Использование диска на раздел (80%, 90%).
  • Очередь почты (10, 50). Используйте более низкие значения на не почтовых серверах.
  • Загруженные веб-серверы (10, 25).
  • Пропускная способность сети (80%, 100%). Сетевые резервные копии и другие подобные процессы могут превышать значения. Я бы использовал настройки дросселирования, если они доступны.
  • Смещение NTP в секундах (0,2, 1).

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

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

Я бы использовал Nagios на вашем месте по ряду причин (вот две из них):

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

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

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

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

Сначала вы можете контролировать системные ресурсы, такие как процессор и память.

Затем вы можете отслеживать ресурсы для конкретных услуг. Например, вы можете отслеживать время отклика и количество активных подключений.

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