LINUX.ORG.RU

Ответ на: комментарий от vvn_black

так да, но не практично, у меня более 400 IP, и каждый ждать секунду пока ответит это не хорошо. Мне нужно для получения графика, отмониторить каждый IP и получить сколько он жрет интернет

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

Хочу получить для графика, сколько какая виртуалка наседает на канал

Name:           vps12
State:          RUNNING
PID:            17095
IP:             xxx.xxx.xxx.xxx
CPU use:        328.83 seconds
BlkIO use:      316.91 MiB
Memory use:     62.45 MiB
KMem use:       12.73 MiB
Link:           vethTVPFP4
 TX bytes:      184.44 MiB
 RX bytes:      7.47 GiB
 Total bytes:   7.65 GiB
lxc показывает вроде показатели, но черт их знает как считать. Он видимо просто сумирует сколько трафика она сьела а вот как получить сколько она сейчас канала жрет не понятно

User01 ()
Последнее исправление: User01 (всего исправлений: 1)
Ответ на: комментарий от Deleted

их нужно ставить на каждую вдс что не удобно.

cat /proc/net/dev | awk {'print $2,$3,$10,$11'}

вот так буду наверное спрашивать. Только как его в одну строчку ssh командой сварганить со слипом в 1 сек, и сравнением значений?


cat /proc/net/dev | awk {'print $2,$3,$10,$11'} (запись в $переменную1) && sleep(1) && cat /proc/net/dev | awk {'print $2,$3,$10,$11'} (запись в $переменную2) && $переменную2 - $переменную1

вот как-то так бы закостылять чтоли)

User01 ()
Ответ на: комментарий от gutaper
read rx1 tx1 < <(cat /proc/net/dev | grep eth0 | awk {'print $2,$10'}); sleep 1s; read rx2 tx2 < <(cat /proc/net/dev | grep eth0 | awk {'print $2,$10'});  read rxall txall < <($rx2-$rx1 $tx2-$tx1); echo $rxall/100000; echo $txall/100000;  

вот типа так, должно работать но что-то видимо не так с последним echo

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

я не знаю как ходит он до меня, но у меня много серверов с вдс, соответственно много ip. Все что нужно мне так это решить как правильно вычитать

read rxall < <($(($rx2-$rx1)));

User01 ()