Использование fping для мониторинга сети
Fping один из самых лучших инструментов для тестирования сети на основе icmp.В отличие от утилиты ping, fping можно легко использовать в скриптах, т.к вывод этой утилиты разрабатывался для парсинга. Можно написать несложные скрипты, которые будут посылать письмо в случае недоступности какого-то узла сети.
Для начала рассмотрим пример команд:
# fping router
Вывод:
router is alive
Можно дать утилите на съедение целый список серверов или ип из файла. Но опция -f джоступна только для root. Обычные пользователи могут делать следующим образом: Для примерна протестируем все хосты и ип из файла ~/.fping.conf
$ fping < ~/.ping.conf
Можно также сформировать диапозон тестируемых адресов на основе маски сети. Для примера протестируем сеть класса C 192.168.148.x:
$ fping -g 192.168.148.0/24
или
$ fping -g 192.168.148.0 192.168.148.255
Теперь рассмотрим небольшой скрипт, который посылает почтовое сообщение, если какой-то узел сети недоступен:
#!/bin/bash HOSTS="router sun printer laptop sony-laptop xbox backup-server" DLIST="" for h in $HOSTS do fping -u $h >& /dev/null if [ $? -ne 0 ]; then echo ${h} host is down send email # mail -s "Host ${h} down" admin@you.comДругой пример:
#!/usr/bin/perl $myHosts = ‘cat /etc/hosts.backup | fping -a‘; foreach $host (split(/\n/,$myHosts)) { # take action or call other function }
Комментарии (2)
J.Ripp:
мая 23, 2015 at 09:08
Доброго времени суток!
Хорошая статья, но скрипт так и не заработал. Ругается на неожиданный конец файла.
makky:
июл 17, 2015 at 10:01
Сразу вижу. При перезде на другой движок кусочек потерялся - исправлю. Спасибо.
Добавление комментариев закрыто.