The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"График загрузки CPU на mrtg"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"График загрузки CPU на mrtg"
Сообщение от Bopros emailИскать по авторуВ закладки on 17-Янв-04, 22:46  (MSK)
Если я буду для этого брать инфу из top то в этот момент ведь будет выполнятся мой скрипт и он как раз нагрузит процессор, а мне раз я беру статистику через каждую минуту как то бы взять надо среднюю нагрузку процессора за последнюю минуту. Это реально??? Кто вообще как строит графики загруженности процессора?

P.S. никто не поделится как выдрать из top  из
CPU states: 58,9% user, 40,0% system,  0,0% nice,  1,0% idle
число 1,0??? А то ведь можно это знаю стандартные програмки Linux, а то я на перле столько коду замучу, когда можно одной строчкой ...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "График загрузки CPU на mrtg"
Сообщение от temny emailИскать по авторуВ закладки on 18-Янв-04, 00:06  (MSK)
>Если я буду для этого брать инфу из top то в этот
>момент ведь будет выполнятся мой скрипт и он как раз нагрузит
>процессор, а мне раз я беру статистику через каждую минуту как
>то бы взять надо среднюю нагрузку процессора за последнюю минуту. Это

1. Я думаю, что top не слишком предназначен для снятия этой статистики в скрипте, хотя я могу и ошибаться.
2. Нагрузкой на процессор я бы принебрёг.

>реально??? Кто вообще как строит графики загруженности процессора?
>P.S. никто не поделится как выдрать из top  из
>CPU states: 58,9% user, 40,0% system,  0,0% nice,  1,0% idle
man grep
man awk
>
>число 1,0??? А то ведь можно это знаю стандартные програмки Linux, а
>то я на перле столько коду замучу, когда можно одной строчкой
>...
Вот как это делаю я (для freebsd - возможно для linux придётся подправить):
1. Для снятия средних значений с момента включения компьютера
#!/bin/sh
echo `/usr/sbin/iostat|/usr/bin/tail +3`|/usr/bin/awk '{printf("%d\n%d\n\nidle/user cpu \%\n",$16,$12+$13)}'

#!/bin/sh
echo `/usr/sbin/iostat|/usr/bin/tail +3`|/usr/bin/awk '{printf("%d\n%d\n\nsystem/interrupt cpu \%\n",$14,$15)}'

2. Для снятия текущих значений (сорри, не очень красиво):
В этом случае /usr/sbin/iostat -c 11 выводит 11 строк (за 11 секунд). Первая - среднее значение с момента включения (его пропускаем), из оставшихся десяти находим среднее арифметическое (т.е. средние значения за 10 секунд).
#!/bin/sh
echo `/usr/sbin/iostat -c 11|/usr/bin/tail +4|/usr/bin/awk '{print $16,$12,$13}'`|awk '{printf("%d\n%d\n\nidle/user cpu \%\n",($1+$4+$7+$10+$13+$16+$19+$22+$25+$28)/10,($2+$3+$5+$6+$8+$9+$11+$12+$14+$15+$17+$18+$20+$21+$23+$24+$26+$27+$29+$30)/10)}'

#!/bin/sh
echo `/usr/sbin/iostat -c 11|/usr/bin/tail +4|/usr/bin/awk '{print $14,$15}'`|awk '{printf("%d\n%d\n\nsystem/interrupt cpu \%\n",($1+$3+$5+$7+$9+$11+$13+$15+$17+$19)/10,($2+$4+$6+$8+$10+$12+$14+$16+$18+$20)/10)}'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "График загрузки CPU на mrtg"
Сообщение от temny emailИскать по авторуВ закладки on 18-Янв-04, 00:14  (MSK)
>>P.S. никто не поделится как выдрать из top  из
>>CPU states: 58,9% user, 40,0% system,  0,0% nice,  1,0% idle
>>число 1,0??? А то ведь можно это знаю стандартные програмки Linux, а
сорри.
echo "CPU states: 58,9% user, 40,0% system,  0,0% nice,  1,0% idle"|awk '{printf("%d\n",$9)}'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "График загрузки CPU на mrtg"
Сообщение от Bopros emailИскать по авторуВ закладки on 18-Янв-04, 12:42  (MSK)
спасибо большое, iostat кажется самый лучший выход, для линухи чуть чуть изменённый твой скрипт выглядит так:
/bin/echo `/usr/bin/iostat -c 1 5|/usr/bin/tail +5`|/bin/awk '{printf("0\n%d\n0\n0\n",(400-$9-$18-$27-$36)/4)}'
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "График загрузки CPU на mrtg"
Сообщение от dawnshade emailИскать по авторуВ закладки on 18-Янв-04, 16:00  (MSK)
>спасибо большое, iostat кажется самый лучший выход, для линухи чуть чуть изменённый
>твой скрипт выглядит так:
>/bin/echo `/usr/bin/iostat -c 1 5|/usr/bin/tail +5`|/bin/awk '{printf("0\n%d\n0\n0\n",(400-$9-$18-$27-$36)/4)}'


А не проще настроить nagios?

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру