LINUX.ORG.RU

Снять показатели RX TX

 


0

1

Как можно одной командой получить результат сколько канала кушает определенный IP? Как входящего так и исходящего. Желательно без установки доп софта.


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

да, но как там можно вывести только моментальный RX TX? мне нужно только трафик мгновенный получить в ответ на запрос

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

iftop | grep RX | awk '{print $n}' и в итоге чтобы получить показатель цифрой. iftop так не умеет, поэтому ищу как бы так получить.

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

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

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

ну можно не по 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)
Ответ на: комментарий от User01

Любая скорость пожирания канала считается по времени. Нельзя просто измерить мгновенную скорость.

PPP328 ★★★★★
()
Ответ на: комментарий от 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
() автор топика
Ответ на: комментарий от User01

echo $rx2-$rx1 вот очередная проблема, как их заставить это делать

read rxall < <($(($rx2-$rx1))); bash: 10859: command not found

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

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

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

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

спасибо. Забыл отписать что решил чуть проще. Но всеравно спасибо за внимание )

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