Мониторинг потерь пакетов на сервере с помощью mtr

Потери пакетов - довольно частое явление, особенно у ненадежных хостингов, но это сетевых проблем никто не застрахован, а работа сервисов может быть нарушена, особенно если у Вас 2 и более серверов "общаются" друг с другом и локальной сети у Вас нет. Скрипт мониторинга следующий (vi /srv/scripts/mtr.sh):
#!/bin/bash

SCRIPT=`basename $0`
#PS=`pidof /usr/sbin/mtr`
LOG=/var/log/mtr.log
LOCK=/tmp/mtr.lck
DT=`date +%F_%T`


if [ -f "/tmp/mtr.lck" ];then
    #DT=`date +%F_%T`
    #echo "### $DT `basename $0` is running ###" >> $LOG
    exit
fi

touch $LOCK

    DT=`date +%F_%T`
    echo "### start ping $DT ###" >> $LOG
    /usr/sbin/mtr -r -c 1000 X.X.X.X >> $LOG
    DT=`date +%F_%T`
    echo "### stop ping  $DT ###" >> $LOG
    echo "" >> $LOG

rm -f $LOCK
Даем права на выполнение скрипта:
chmod +x /srv/scripts/mtr.sh 
Добавляем скрипт в крон, чтобы собирать статистику постоянно или в нужное нам время (собираем статистику с 10 до 22 часов):
* 10-22 * * * root /srv/scripts/mtr.sh
Все. Теперь отчеты mtr будут доступны в логе: /var/log/mtr.log. Обращаю внимание, что скрипт надо подключать с двух сторон для более точного понимания причин проблемы.

Добавить комментарий