LINUX.ORG.RU
ФорумAdmin

монторинг доступности узлов/состояния каналов

 ,


0

1

Знаю, что тема избитая, но поискав некоторое время назад, я так и не нашел готового решения.

Хотелось ping-сервер, который при посылке запроса на него начинает пинговать заданный узел (ipv4/ipv6) пакетами указанной длины и с заданнным интервалом ( > 1 секунды).

Обращаясь повторно к ping-серверу через некоторое время (минуты) мы должны получить статистику (передано/принято/ошибок пакетов мин/макс/среднее время отклика и число изменения состояний.

Состояние - это результат: успешно приняли ответ или нет. Число изменений состояния позволяет понять состояние канала (одиночные потери или длительная недоступность).

Мной был написан такой сервер (на C) и клиент (на C) для замены check_icmp от nagios. Протокол запросов текст/tcp, т.ч. при желании клиента можно изобразить даже на bash+netcat.

Из особенности реализации: сервер теоретически не требует suid-ности (используется сокет ICMP/ICMPV6), время возврата пакета измеряется при помощи SO_TIMESTAMPNS.

Если кого заинтересовало, то могу выложить исходники на гитхабе.

Сейчас оно запущено для мониторинга 70 хостов.

★★★★★

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

smokeping - совсем не то. Это часть nagios+pnp.

Меня интересовал компактный и экономный к ресурсам демон ( а не монстр в виде perl + exec fping ) для сбора первичной информации с возможностью распределенной работы - демонов можно запустить на разных хостах, а собирать инфу с одного или нескольких клиентов.

$ ps axu| grep ping
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
nagios    5688  0.0  0.0   2284    84 ?        Ss   15:52   0:07 ping_server -P /run/nagios/ping_server.pid

7 секунд CPU за 6 часов работы на 70 хостов

vel ★★★★★ ()
Ответ на: комментарий от vel

Интересно, но мне например сталкиваться с таким на практике скорее всего не придется. Может быть стоит разместить там где размещаются плагины nagios.

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