Главная Статьи MRTG как пинговалка собственных серверов.
 
   
Главная
Новости
Статьи
FAQ
Конкурсы
Форум
Ссылки

Получать новости
на E-mail:











 
MRTG как пинговалка собственных серверов.
Автор: Rimlyanin   
02.04.2012 19:41

И так, задача: пинговать сервера и строить графики время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) и процент потерянных пакетов.

С увеличением количества администрируемых серверов у системных администраторов возникает вопрос «как же мониторить?». Когда глаз и рук не хватает уследить за всеми сервисами и серверами. И тут на помощь сисадмину приходят они, системы мониторинга.

Есть много различных систем мониторинга и отслеживания статусов серверов, сетевого оборудования, сетевых сервисов и т.д. Достаточно вспомнить про Nagios, Zabbix или Munin. Но т.к. фактически мне необходимо лишь следить за доступностью самого сервера в сети, пингуя его, то запускать монстрообразные системы и использовать лишь несколько процентов их возможностей я посчитал нецелесообразным, тем более что на всех *nix серверах уже был установлен и отлично работал MRTG.

И так, операционная система FreeBSD, сам MRTG у нас установлен, настроен, работает и отлично рисует графики загруженности каналов и температуры процессоров. Файл конфигурации mrtg.cfg расположен в папке /usr/local/etc/mrtg, а скрипты, с помощью которых MRTG получает данные расположены в /usr/local/etc/mrtg/script.

Скрипт получения данных у меня получился вот таким:

# Этому скрипту в качестве первого параметра передаётся адрес устройства,
# которое надо пинговать.

# Если имя устройства передано
if [ ! -z ${1} ]; then
PING="/sbin/ping"
ADDR=${1}
DATA=`$PING -c100 -s500 -q $ADDR `
LOSS=`echo $DATA | awk '{print $18 }' | tr -d %`
if [ $LOSS = 100.0 ];
then echo 0
else
echo $DATA | awk -F/ '{print $5 }'
fi
echo $LOSS
echo loss
echo $LOSS.....
fi

Если кто не разобрался, то скрипт получив в качестве параметра адрес сервера, пингует его сотней пакетов размером по 500 байт. И на выходе передает в MRTG среднее время пинга, и дважды количество потерянных пакетов, а т.к. изначально было ровно сто отправленных пакетов, то можно сказать что мы получаем процент потерь.

Для примера будем пинговать для оба IPv4 адреса сервиса Google Public DNS, а именно 8.8.8.8 и 8.8.4.4. Допишем в /usr/local/etc/mrtg/mrtg.cfg следующие строки:

Title[pingG8888]: ping 8.8.8.8 Google Public DNS
PageTop[pingG8888]: <H1>ping 8.8.8.8 Google Public DNS</H1>
Target[pingG8888]: `/usr/local/etc/mrtg/script/pings 8.8.8.8`
MaxBytes[pingG8888]: 2000
Options[pingG8888]: nopercent,gauge,unknaszero,avgpeak,growright,pngdate,nobanner
LegendO[pingG8888]: Pkt loss %
LegendI[pingG8888]: Avg RTT
YLegend[pingG8888]: RTT (ms)
XSize[pingG8888]: 600
YSize[pingG8888]: 125


Title[pingG8844]: ping 8.8.4.4 Google Public DNS
PageTop[pingG8844]: <H1>ping 8.8.4.4 Google Public DNS</H1>
Target[pingG8844]: `/usr/local/etc/mrtg/script/pings 8.8.4.4`
MaxBytes[pingG8844]: 2000
Options[pingG8844]: nopercent,gauge,unknaszero,avgpeak,growright,pngdate,nobanner
LegendO[pingG8844]: Pkt loss %
LegendI[pingG8844]: Avg RTT
YLegend[pingG8844]: RTT (ms)
XSize[pingG8844]: 600
YSize[pingG8844]: 125

Создадим новый индексный файл

indexmaker mrtg.cfg > index.html

И при необходимости, перестартуем сервис MRTG.

Осталось лишь подождать достаточное время, что бы отрисовались графики.

Осталось лишь подождать достаточное время, что бы отрисовались графики.
 
 




Последние комментарии

   
 

© 2005-2020 www.modding.kh.ua Копирование авторских текстов и фотографий возможно только с письменного разрешения администрации сайта.

bigmir)net TOP 100 Яндекс.Метрика

 
 
 
Харьковский моддинг сайт https://modding.kh.ua/