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

Хранение / расчет исторических средних значений нагрузки

Когда я бегу uptime, Я получаю примерно следующий результат:

 07:50:39 up 13 days,  5:00,  1 user,  load average: 0.00, 0.02, 0.00

Есть ли другой способ, кроме бега uptime каждые X-много минут, чтобы получить более историческую среднюю загрузку?

Я хотел бы иметь возможность построить график средней нагрузки за последнюю неделю, месяц и т. Д.

Возможно я ищу не в том месте?

Обновить
Я не могу выбирать между собирать (@Дэвид Спиллет) или Мунин (@Икапан) - так что пока я буду использовать оба (на разных машинах).

Спасибо :)

я использую собирать для записи загрузки системы среди ряда других параметров. Он хранит данные в RRD магазины, которые можно построить в виде графиков и иным образом проанализировать с помощью множества доступных инструментов и скриптов. Я использую модифицированную версию этот сценарий для моего графика (образец вывода).

В Collectd есть плагины для мониторинга большого количества вещей (всего, что обычно просят, и еще несколько вещей), и создание собственного не должно быть трудным, если вам нужно что-то специализированное, что делает инструмент очень гибким. Настройка графиков в rrd.cgi - это очень ручной процесс, хотя и не сложный, хотя вы вполне можете найти более удобный инструмент для работы с файлами RRD, поддерживаемыми collectd.

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

смотреть на man sadc (Сборщик данных о деятельности системы) и man sar (Собирать, сообщать или сохранять информацию о деятельности системы).

В моей системе Ubuntu все, что мне нужно было сделать, чтобы включить сбор данных, поскольку cron работа уже была на месте, редактировалась /etc/default/sysstat и измените эту строку на "true":

ENABLED="true"

Для отображения информации о нагрузке, аналогичной uptime, делать:

sar -q

Чтобы отобразить вывод по умолчанию для определенного диапазона времени и даты (здесь 20-е число месяца):

sar -s 11:00:00 -e 14:00:00 -f /var/log/sysstat/sa20

Данные о средней нагрузке можно найти в /proc/loadavg псевдо-файл. Возможно, формат там больше подходит для автоматической обработки. Помимо формата, это точно такие же числа, которые вы получаете при выполнении uptime команда.

Однажды, чтобы решить проблему, похожую на вашу, я просто запланировал сценарий bash с cron читать /proc/loadavg и выпустить rrdtool update команда для обновления базы данных RRD.