LINUX.ORG.RU
ФорумAdmin

Логирование нагрузки на процессор

 ,


0

1

Всем привет. Хочу поделиться некоторыми идеями по поводу сабжа, а заодно спросить мнение опытных. На днях прочел вот эту статью на хабре http://habrahabr.ru/post/216827/

Поразмыслив и поэксмерентировав немного я написал такой скрипт:

CPU_LOG=~/cpu.log

CPU_CORES=`cat /proc/cpuinfo | grep 'cpu cores' | awk '{print $4}' | uniq`

CPU_AVERAGE=`uptime\
             | awk '{for(i=1;i<=NF;i++) if(i==NF-2) print($i)}'\
             | sed 's,\,,,g' | awk '{print $1*100}'`

echo "`date +"%Y-%m-%d %H-%M-%S"` $(($CPU_AVERAGE / $CPU_CORES))" >> $CPU_LOG

Суть элементарная. Я просто делю среднюю нагрузку за минуту на кол-во ядер и получаю средний процент нагрузки за минуту. Крон дергает этот скрипт раз в минуту.

Кто что думает, насколько правильный подход? Любой облачный хостинг предоставляет отчеты по нагрузке в виде красивых графиков. Хочется сделать нечто подобное.

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

trancefer ★★ ()

LA это не нагрузка процессора, это среднее количество процессов ожидающих выполнения. Узким местом может быть не только CPU, и как правило им является не он, а ввод-вывод.

MrClon ★★★★★ ()
Ответ на: комментарий от trancefer

Для одного хоста можно Munin. Nagios тоже вариант - пушка чуть меньшего размера.

Black_Roland ★★★★ ()
Ответ на: комментарий от Black_Roland

Не вижу особой разницы честно говоря для этой ситуации. Чтоб особо не велосипедить можно на sar еще посмотреть.

trancefer ★★ ()
Ответ на: комментарий от trancefer

Про sar мне на другом форуме тоже подсказали. Думаю, на нем и остановиться. Получился вот такой скрипт:

CPU_AVERAGE=`sar -u 1 50 | tail -n1 | awk '{print $5}' | awk -F "," '{print $1}'`
echo "`date +"%Y-%m-%d %H-%M-%S"` $CPU_AVERAGE" >> $CPU_LOG

Он собирает статистику в таком виде:

2015-02-13 18-02-37 1.27
2015-02-13 18-02-51 1.17
2015-02-13 18-03-51 0.97
2015-02-13 18-04-51 1.14

harhor ()
Ответ на: комментарий от Black_Roland

Для одного хоста можно Munin. Nagios тоже вариант - пушка чуть меньшего размера.

Примером удочной реализации для меня был отчет нагрузки на clodo. Загуглив по названию Munin, заметил подозрительное сходство )

Но интересно логи самому разбирать и графики строить на Ноде, например

harhor ()

днях прочел вот эту статью на хабре http://habrahabr.ru/post/216827/

Что-то там про гипертрединг забыли...

А по делу - ты collectd свой хочешь написать, что ли ?

AS ★★★★★ ()

что за блажь тебе в голову взбрела? все в эталонный велосипед

zolden ★★★★★ ()
Ответ на: комментарий от harhor

atop, collectd

а этот велосипед раза в 3 короче:

echo "$(date '+%Y-%m-%d %H:%M:%S') $(cat /proc/loadavg | cut -d' ' -f 1)"

anonymous ()
Ответ на: комментарий от anonymous

Воооооот! И уже вот это - в rrdtools! И всё ... :)

anonymous ()
apt-get install sysstat

И смотришь результаты через полчаса командой sar

andrew667 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.