четверг, 31 марта 2011 г.

Ахтунг! Дропы! Администрация, примите меры!

Начал у меня глючить один район, народ звонит, волнуется, карта вся красная, трафика почти нет. Проверил. Смотрю, на сетевухе бешеные дропы. Я ей говорю:
ifconfig em0 down; sllep 3; ifconfig em0 up

И чудесное излечение настигло район, и миллионы пакетов варезом, музыкой и порно полились на компы пользователей.
Но это, понятно, только начало. Если что-то сглючило один раз, оно обязательно сглючит повторно, причем в тот самый момент, когда некому будет реагировать. Понятно, что глючит или сетевуха или конвертор. Но лажа в том, что если проблему можно устранить удаленно, то ехать туда совсем не хочется. Это раз. А если еще начальство не заинтересовано высылать тебя на другой конец города, мол "как только сглючит - сразу чини! А съездишь туда по плану."
Ладно, сказано - сделано. Но лень - замечательная штука. Она мотивирует на простые решения. Вот простое решение: раз в пять минут проверять сетевуху на дропы, если они есть down - up и отослать письмо с отчетом. Письмо нужно, для того, чтобы видеть, как часто творится фигня. Если будет очень часто - будет стумул съездить раньше.

Вот скрипт, который выполняет всю грязную работу:

#!/bin/sh
res=`netstat -w 1 -q 1 -d -I em0 | tail -n 1 | awk '{print $3}'`
if [ "0" != $res ]
  then
  echo "drops $res on"  `hostname` | mail -s 'drops' $email
  ifconfig em0 down; sleep 3; ifconfig em0 up
fi

Тестировал только для FreeBSD. На линуксе работать не будет. И надо, конечно, помнить, что это только временное решение.

Комментариев нет:

Отправить комментарий