Я пытаюсь создать простой сценарий оболочки для мониторинга моего сервера. Я планирую настроить задание CRON, чтобы оно запускалось каждые пять или 10 минут.
Вот как это будет работать:
Я планирую использовать эти данные, чтобы определить, когда мне нужно обновить сервер.
Однако у меня нет большого опыта в мониторинге серверов, поэтому я не знаю, какие пороги мне следует искать. Например, когда я запускаю что-то вроде mpstat -P ALL
какие цифры должны меня беспокоить? Или iostat
?
Я просто хочу иметь некоторую точку отсчета, чтобы знать, когда мои серверы находятся в хорошем состоянии, то есть в разумной нагрузке, или в плохом, то есть перегружены, и требуют обновления или балансировки нагрузки.
Заранее спасибо.
Я бы сказал, что бесплатный Монит будет более подходящим инструментом для проверки пороговых значений, которые вы ищете, и предоставления простого краткий обзор здоровья вашей системы.
Из коробки вы можете настроить некоторые базовые проверки. Синтаксис очень удобен для чтения человеком, поэтому установка barebone-комплекта, которая проверяет загрузку системы, использование памяти, использование подкачки, использование ЦП и дискового пространства для различных точек монтирования, и может отправлять электронное письмо, будет выглядеть следующим образом:
if loadavg (1min) > 6 then alert
if loadavg (5min) > 5 then alert
if memory usage > 90% then alert
if swap usage > 20% then alert
if cpu usage (user) > 90% then alert
if cpu usage (system) > 75% then alert
if cpu usage (wait) > 75% then alert
check device root with path /
if SPACE usage > 80% then alert
check device var with path /var
if SPACE usage > 80% then alert
check device usr with path /usr
if SPACE usage > 80% then alert
check device tmp with path /tmp
if SPACE usage > 80% then alert
Кроме того, я знаю, что вы говорите, что вам не нужны никакие графические инструменты, но может иметь смысл иметь что-то, что может отслеживать тенденции. Мунин - хороший инструмент для этого. Есть много других, но их стоит рассмотреть.
Оби Хилл: Ну, ты изобретаешь велосипед заново. Сбор всех этих данных, их анализ и анализ - это решенная проблема, которую вы не должны переписывать в «Еще один раз».
SNMP - один из очень удобных способов сбора системной информации для дальнейшей обработки (например, графическое отображение тенденций с помощью MRTG
или передача данных в Nagios
или аналогичная программа мониторинга).
Также такие программы, как Cacti
или Munin
могу сделать все это за вас.
Сколько у вас серверов?
Возможно, вам стоит взглянуть на Puppet, RunDesk или ControlTier.