Страница 1 из 2

Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 04 дек 2009, 14:16
msergey
Добрый день Всем!

Во озадачился таким вопросом.
Сейчас присматриваюсь к Zabbix, Zenoss или Nagios.
Хочется услышать опыт людей, мнения.

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения

СообщениеДобавлено: 05 дек 2009, 12:11
root
хороший вопрос, многие с этим заморачиваются

выскажу исключительно свое ИМХО:
исходя из опыта: нет ничего лучше сделанного самим, только ОНО работает так как надо и так как ты того хочешь

msergey писал(а):Сейчас присматриваюсь к Zabbix, Zenoss или Nagios.

по моему мнению слишком перегружены и заморочены
из перечисленного пробовал Zabbix, Nagios, но уже очееень давно
т.к. именно тогда начал писать свою тулзу под мониторинг, которой и пользуюсь до сих пор

как я решал сей вопрос:
по сути все что нуна знать админу это работает ли железка и какой либо сервис на ней
посему используется банальный ICMP + TELNET
уведомления: почта и/или SMS (SMS реализация написана в нашем блоге) и/или голосовое оповещение ("железная тетка") на мобилу админа при возникновении проблем
monitoring_2.png
Админы и способы их уведомления


реализация: PERL скрипт (собирает данные (пользуется fping (есть в портах))) + MySQL (хранит данные) + Web-ифейс на PHP (выводит результаты, управление хостами)
за долгое время такая простая система мониторинга не подводила ни разу
в веб-интерфейсе, в котором видно посути тока то что и нуна (мне покрайней мере):
monitoring.png
Результат отработки


может со временем я добавлю ещё что то или изменю, давно в планах мониторить с нескольких точек, с разных каналов и соответственно собирать данные от нескольких скриптов мониторинга и после их обработки уже решать уведомлять админа или нет
но даже сейчас меня все устраивает и я всегда в курсе того, что происходит в обслуживаемых мной сетях
главное нет "перегруза" в веб-интерфейсе и лишних заморочек
демка доступна тут: http://demo.mega-net.ru/mon/

Так же способ многим зависит от того что нуна мониторить, какое железо и где стоящее. Можно воcпользоваться SNMP trap`ами или прикрутить сброс логов с железок на syslog на сервере, где уже парсить полученный лог и если найдены проблемы уведомлять админа.
"Мое" железо все находится удаленно и я пользуюсь своим вариантом.

З.Ы. С удовольствием послушаю ещё мнения, если таковые будут. Действительно интересно кто и как решает подобный вопрос.

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 05 дек 2009, 20:01
Андрей
У меня опыт пока не большой.
Я использовал, по началу, Friendly pinger. У него есть много достоинств - пингование, оповещение, выбор фонового рисунка (можно карту города) и т.п. Из минусов - работает за вечные зеленые + если на карте более 45 девайсов - зависает при установленном пинге в 1 минуту (ну или начинает тормозить), плохое автоопределение (управляемые свитчи и роутеры определяются как компы)
Пробовал Zabbix и Nagios - слишком мутное ПО. Убил 2 дня на настройку. Потом плюнул. Ко всему этому требуют установку клиента на наблюдаемый "объект".
В итоге ушел на Dude. (http://www.mikrotik.com/thedude.php)
Из плюсов: прослушка портов (можно создать порт самому и заставить прогу слушать), автоопределение типа девайса при сканировании (в 70% случаев правильно определяет), создание карты, рапределение доступа к карте, возможность доступа к карте по сети с клиентов, поддержка snmp, отрисовка графиков загруженности машин, магистральных и субмагистральных веток. Её особенностью можно выделить автоматическое определение включения устройства (появился ли пинг на устройство или нет).
Из минусов: Самый большой минус - повисание, скорее всего связано с глючностью винды (dude кроссплатформенный), все устройства числятся как включенные, а при попытке пустить пинг получаю ответы что узел не доступен. Еще из минусов - немного странная настройка звукового оповещения (звуковых файлов нет в комплекте). Долгое определение того, что устройство не доступно, отсутствие русского шрифта для именования устройств (возможно только в винде).

В свое время, когда работал WilFire-сервер (Jabber-сервер), я писал скрипт на шелле для пингования. В скрипте использовалась БД mysql + fping + любой консольный jabber-клиент (для оповещения). В БД хранились Ip девайсов и их место расположение. В цикле перебирались id устройств, делалась выборка их ip, затем при помощи fping посылался пинг на девайсы и по характерному ответу шло оповещение, при помощи клиента "жаббера" включен ли девайс или нет. В понедельник опубликую исходник. может кому и пригодится.

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 06 дек 2009, 13:13
root
один большой минус всех используемых тобой решений - они под Windows
ИМХО: система мониторинга должна быть мультиплатформенной

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 08 дек 2009, 10:05
Андрей
Вчера не получилось выложить скрипт. публикую сейчас
Код: Выделить всё
#!/bin/sh

i=1; #Первый адрес в пингуемой сети

while [ ${i} -le 8 ]; # цикл для перебора девайсов в бд и самих девайсов
do
 res=`/usr/local/sbin/fping -t 10 10.10.0.$i | /usr/local/bin/gawk '{ print $3 }'` #обращаемся к девайсу и смотрим жив он или нет.
 case $res in   #Берем возвращенное значение о доступности устройства
  alive) sost1=`/bin/cat /tmp/lping/10.10.0.$i` ; # Если девайс жив, то смотрим файл на лежащее в нем значение (был ли девайс доступен ранее)
      case $sost1 in   # Теперь смотрим что делать, если девайс был ранее не доступен.
                0) ;;   # Если сервер не был доступен - и сейчас не доступен - ничего не делаем.
                1) query1=`/usr/local/bin/mysql switch -u monitor -N -e "select address from l3 where ip='10.10.0.$i';"` && /bin/echo '0' > /tmp/lping/10.10.0.$i && /usr/bin/printf "\n`/bin/date`\n $query1 \n Host is UP!" | /usr/local/bin/sendxmpp -u yourserver -p shatrik -j 10.10.254.128:5222 -r Home admin@10.10.254.128 ;; # я использовал sendxmpp для оповещения. Оповещаем админа о том, что девайс включился и делаем запись в соответствующий файл.
                *) ;; # Ничего не делаем для прочих значений (отличные от 0 или 1)
            esac;;

  unreachable) sost2=`/bin/cat /tmp/lping/10.10.0.$i`; #действия если девайс не доступен.
            case $sost2 in # Теперь смотрим что делать, если девайс был ранее не доступен.
                1) ;; # если он работает, то ничего не делаем.
                0) query2=`/usr/local/bin/mysql switch -u monitor -N -e "select address from l3 where ip='10.10.0.$i';"` && /bin/echo '1' > /tmp/lping/10.10.0.$i && /usr/bin/printf "\n`/bin/date`\n $query2 \n Host is DOWN!!!" | /usr/local/bin/sendxmpp -u yourserver -p shatrik -j 10.10.254.128:5222 -r Home admin@10.10.254.128 ;; #Оповещаем админа о том, что девайс помер и делаем запись в соответствующий файл.
                *) ;; # Ничего не делаем для прочих значений (отличные от 0 или 1)
            esac;;
 esac
 i=$(expr ${i} + 1 ) #Переходим на следующий девайс
done


Конечно есть ряд недочетов (лишние переменные), но когда я писал этот скрипт, я тогда только вникал что такое Шелл.
БД, работает только как информационная. но все же.
Если надо пинговать сеть /16 и т.п. то придется запускать еще 1 внешний цикл.

Сильно не пинать. :)

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 26 янв 2010, 12:45
root
кому интересно выложили демо-версию своего мониторинга, увидеть можно тут: demo.mega-net.ru

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 27 янв 2010, 00:10
krowel
Все не читал, но осуждаю:))

Не встретил нигде в способах мониторнга SNMP это что, никому не надо?
Если не надо, то покрайней мере странно...

Карты, пингеры и зленый фон конечно круто, а если у вас 1к и более девайсов, что делать?

Не ужели никто незанет что такое discovery?
И очевидные приимущества при наличии auto discovery?

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 27 янв 2010, 11:45
root
krowel писал(а):Все не читал, но осуждаю:))

осуждай, не осуждай, а все зависит от конкретных условий и сетевой инфраструктуры

krowel писал(а):Не встретил нигде в способах мониторнга SNMP это что, никому не надо?

ну почему же, есть и такой способ :)

а если оборудование, которое нуна мониторить не твое ? например твоего клиента или провайдера ?
или ты предлагаешь написать им письмо, мол "а поднимите у себя на оборудовании SNMP, а то мне мониторить нуна!" ? :D
а если на пути до оборудования пров или кто то все через жестокий фаир пускает ?

в общем способов можно придумать много, тока вот не везде оно будет работать.

если оборудование твое и все оно находится в твоей сети, то тут да, ты можешь выбирать любой спобоб мониторинга.

krowel писал(а):а если у вас 1к и более девайсов, что делать?

да хоть 2К :) делать тоже самое, тока не с одной точки, раз сеть такая большая, то она точно поделена на сегменты ;)

krowel писал(а):Не ужели никто незанет что такое discovery?
И очевидные приимущества при наличии auto discovery?

ну так просвяти нас :)

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 28 янв 2010, 08:12
Андрей
ИМХО, написать скрипт из пинговалки (типа fping)+ snmp и опрашивать девайсы.
Главное вовремя БД редактировать.
krowel писал(а):а если у вас 1к и более девайсов, что делать?

Делаем 5 скриптов (по 200 девайсов в каждом), помещаем их в крон с таймаутом 5 минут и все.
Если snmp, то на форуме поднималась тема про snmp-трапы - мониторить надо будет только на пинг, да и то мона переписать так, что будешь просто по Ip и OID'у опрашивать девайс (в случае если в n минут не пришел ответ).
krowel писал(а):Не ужели никто незанет что такое discovery?

Я не знаю что это такое.

Код: Выделить всё
disco-1.2_1
IP discovery and fingerprinting utility
Long description : Sources : Changes : Download
Maintained by: jadawin@FreeBSD.org

часом не оно?

Re: Система мониторинга сетевой инфраструктуры. Опыт. Мнения.

СообщениеДобавлено: 28 янв 2010, 18:41
MadMax
krowel писал(а):Не ужели никто незанет что такое discovery?
И очевидные приимущества при наличии auto discovery?


плагин для кактуса чтоли?