Когда я бегу 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.