littledev Опубликовано 11 февраля, 2012 · Жалоба Необходимо сконфигурировать/написать небольшой биллинг для саппорта (писать умеем на php), который минимально умеет собирать данные по snmp и отображать их на веб-морду диспетчерам, а в идеале не только собирать, но и изменять данные по протоколу snmp. Желательно snmp в связке с apache<->php<->mysql. Есть соображения по этому поводу? Буду очень благодарен за любую инфу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
viver Опубликовано 11 февраля, 2012 · Жалоба http://code.google.com/p/swtoolz/ Вот то, что вам нужно, но заточено лишь на D-link, модели des-3028, des-3028G, des-3526, des-3026, des-3200-28. Мы на эту софтинку посмотрели, и написали свою на перле, в связке с Нагиосом и биллингом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба http://code.google.com/p/swtoolz/ Вот то, что вам нужно, но заточено лишь на D-link, модели des-3028, des-3028G, des-3526, des-3026, des-3200-28. Мы на эту софтинку посмотрели, и написали свою на перле, в связке с Нагиосом и биллингом. Спасибо большое, интересно почитать, бегло просмотрел и не нашел к сожалению самого главного - связки snmp протокола с apache через php (с перлом не знаком, но гугл подсказал, что можно и на php реализацию создать), snmp_get(), snmp_set(), snmp_walk() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои. Возможно чего не доглядел - бросьте камень :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 11 февраля, 2012 · Жалоба если функции php для snmp знаете, чего вам не хватает? мибов? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба если функции php для snmp знаете, чего вам не хватает? мибов? мозгов не хватает:) с сервера утилитой snmpwalk и oid'ами ответы получаю, тоесть сам механизм работы ясен, не доходит как связать apache с snmp, потому что скрипт у меня ругается call to undefined function snmpget() и тд. Иными словами, мой апач про snmp совсем не знает, а хотелось бы их подружить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 11 февраля, 2012 · Жалоба http://www.php.net/manual/en/snmp.installation.php оно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 11 февраля, 2012 · Жалоба littledev Только сразу учтите, что php5-snmp очень кастрированный(нет bulk-ов и прочих плюшек). Мне в итоге пришлось писать обёртки над утилитами snmpget и т.п. через функцию exec. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба http://www.php.net/manual/en/snmp.installation.php оно? Оно, читал и нужно пересобирать php? а без пересборки нельзя ? PHP 5.3.0, 5.3.1 and 5.3.2 do not have SNMP support. root@test:/var/cache/apt/archives# php5 -v PHP 5.3.3-7+squeeze7 with Suhosin-Patch (cli) (built: Feb 2 2012 17:32:55) Copyright © 1997-2009 The PHP Group тоесть моя версия php должна с snmp дружить далее там написано, что нужно компилить php с опцией под snmp, к сожалению нет тестовой тачки на которой можно было бы поиграть, на текущей машине висит нагиос и крутится пара рабочих страничек с базами, если чего-то наворочу - оторвут голову если другой возможности нет - будем искать обходные пути, или тестовую тачку Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 11 февраля, 2012 · Жалоба littledev В Centos есть пакет: # rpm -qa | grep php-snmpphp-snmp-5.3.3-3.el6_2.6.x86_64 В дебиане разве нет? aptitude search snmp | grep php Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба littledev В Centos есть пакет: # rpm -qa | grep php-snmpphp-snmp-5.3.3-3.el6_2.6.x86_64 В дебиане разве нет? aptitude search snmp | grep php сделал почти так же только вручную, узнал что в природе есть не только модули но и целый пакет php-snmp, поставил рестартанул апач - вуаля, вызов snmp перестал ругаться Всем огромное спасибо за участие. Иногда бывает затык, что сам по себе не знаешь с какой стороны подойти, сейчас snmp_walk() возвращает мне array() так что процесс пошел и далее это уже тема для другого разговора, если кто использовал еще какие-то интересные решения для управления коммутаторами L2 по snmp - милости прошу добавить в топик инфо, на самом деле инфы не так уж много по этому вопросу, особенно для малоопытных еще раз спасибо всем за помощь Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
viver Опубликовано 11 февраля, 2012 · Жалоба Спасибо большое, интересно почитать, бегло просмотрел и не нашел к сожалению самого главного - связки snmp протокола с apache через php (с перлом не знаком, но гугл подсказал, что можно и на php реализацию создать), snmp_get(), snmp_set(), snmp_walk() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои. Возможно чего не доглядел - бросьте камень :) Тот скрипт, который я вам привел и написан на php, если d-link подходящей модели есть под рукой, запускайте скрипт, скармливайте ему ip коммутатора, и смотрите практически все о его портах. На перле мы писали софтинку другую, скажим так, по мотивам вышеприведенной. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 11 февраля, 2012 · Жалоба littledev Perl SNMP::Info посмотрите, может найдёте там для себя что-нибудь интересного Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба Спасибо большое, интересно почитать, бегло просмотрел и не нашел к сожалению самого главного - связки snmp протокола с apache через php (с перлом не знаком, но гугл подсказал, что можно и на php реализацию создать), snmp_get(), snmp_set(), snmp_walk() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои. Возможно чего не доглядел - бросьте камень :) Тот скрипт, который я вам привел и написан на php, если d-link подходящей модели есть под рукой, запускайте скрипт, скармливайте ему ip коммутатора, и смотрите практически все о его портах. На перле мы писали софтинку другую, скажим так, по мотивам вышеприведенной. Да-да, видел, скрипт хороший, буду гонять-пробовать, просто вначале статьи у меня еще базовый функционал не работал . Работаем с Zyxel (2108,3528,4012,4728) snmp интересует в основном на младших моделях, которые в сторону пользователя смотрят (на старших моделях пока что просто трапы ловим и мртг рисуется(хотя и сюда руки дотянем), но тут без каких-либо чудес ...сугубо базовая настройка),и на младших моделях чаще всего и производятся текущие действия, хорошо когда поначалу можно обойтись малым и дергать все руками, а вот со временем уже как-то неэффективно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба littledev Perl SNMP::Info посмотрите, может найдёте там для себя что-нибудь интересного спасибо, обязательно посмотрю Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 11 февраля, 2012 · Жалоба если будет много коммутаторов - откажитесь от php... медленно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 11 февраля, 2012 · Жалоба если будет много коммутаторов - откажитесь от php... медленно +1. Причина - отсутсвие человеческого multithread в php, если собирать данные периодически со всех свитчей. Если опрашивать какие-то характеристики по запросу оператора, то пойдёт, но лучше, конечно, сразу приобщаться к jsp, для java хотя бы snmp4j есть - отличная библиотека для работы с snmp Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 11 февраля, 2012 · Жалоба littledev В Centos есть пакет: # rpm -qa | grep php-snmpphp-snmp-5.3.3-3.el6_2.6.x86_64 В дебиане разве нет? aptitude search snmp | grep php apt-get install php5-snmp если будет много коммутаторов - откажитесь от php... медленно +1. Причина - отсутсвие человеческого multithread в php, если собирать данные периодически со всех свитчей. +1 Стоит swtoolz - хватает за глаза, пришлось правда работу с разными железками выделить в отдельный модуль, а то оиды у каждой свой. Хотел как-то на перле переписать, да все лень. Кроме того, сбор инфы по железякам занимается другой скрипт, написанный на коленке до знакомства с swtoolz Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 11 февраля, 2012 · Жалоба если будет много коммутаторов - откажитесь от php... медленно +1. Причина - отсутсвие человеческого multithread в php, если собирать данные периодически со всех свитчей. Если опрашивать какие-то характеристики по запросу оператора, то пойдёт, но лучше, конечно, сразу приобщаться к jsp, для java хотя бы snmp4j есть - отличная библиотека для работы с snmp тут не в кол-ве коммутаторов счастье, мониторинг ведется нагиосом и он пока что справляется, первоначальная задача чтобы саппорт мог при работе с клиентом получить инфо о том в каком состоянии находится порт, есть ли мак на порту и имя порта. Таких запросов в среднем будет 1 в 3-5 минут в зависимости от интенсивности обращений в саппорт и кол-ва операторов, а вот если собирать статистику всей сети протоколом snmp - вот тут я целиком с Вами соглашусь, совсем другая песня и уже хочешь/не хочешь придётся лезть в дебри и учить новое. Ни для кого не секрет, что иногда задачи ставятся со сроком выполнения "позавчера", потому для начала накатим рабочий минимум, а далее "лень - двигатель прогресса" - сделает своё дело и подтолкнет модернизацию Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 11 февраля, 2012 · Жалоба 1) Устройств сколько? 2) Perl устроит? Если да, то смотрите на http://forum.nag.ru/forum/index.php?showtopic=54023 первоначальная задача чтобы саппорт мог при работе с клиентом получить инфо о том в каком состоянии находится порт, есть ли мак на порту и имя порта. http://svn1.homelinux.net/viewcvs/cgi-bin/?root=routers_mgmt portctl.cgi Показывает: show ports X, show utilization ports X, show port_security ports X, show fdb. Делает: port enable/disable, clear port_security, cable_diag, create address_binding. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Pritorius Опубликовано 11 февраля, 2012 · Жалоба У наших диспетчеров The Dube стоит. По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр, в общем шикарная штука и развёртывается быстро + бесплатно! Брать тут: http://www.mikrotik.com/thedude.php Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 11 февраля, 2012 · Жалоба У наших диспетчеров The Dube стоит. The Dude. По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр Её используют, чтобы видеть ситуацию с точностью до свича. Клиентские порты и маки через неё никто(?) мониторить пока не додумался. Обычно через контекстное меню вызывают telnet и дальше через CLI. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
littledev Опубликовано 12 февраля, 2012 · Жалоба У наших диспетчеров The Dube стоит. The Dude. По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр Её используют, чтобы видеть ситуацию с точностью до свича. с точностью до свитча видит нагиос и это зеркало диспетчерской души, отдельный биг монитор перед глазами и видно, что зелёное, а что красное, карту под обьекты сами накладываете, так что вид можно делать как простой и удобный так и подробный но неоч. удобный - это уже собственно не задача. А вот с клиентом общение происходит отдельно от нагиоса в самописном биллинге, юзер говорит логин и у диспетчера по логину появляются все данные пользователя + список радиокнопок для выбора вопроса по которому звонит юзер (тоесть список базовых неисправностей и вопросов которые могут быть, пример: не работает инет, плохо работает инет, консультация) на деле все немного подробнее но несильно. Сделано, чтобы заявки от пользователей принимались коротенькие и понятные с удобным формированием бланка наряда. Всё это хорошо пока есть static ip а с переходом на dhcp - у админов перестает болеть голова, включаем option_82 каждому юзеру по порту управляхи и по айпишке на порту, все как в сказке, диспетчеры плачут - админы смеются :). И тут возникает вопрос как диспетчеру с клиентом общаться, оформлять ли наряд на неисправность если у пользователя банально отключена служба dhcp. Так вот, чтоб не было такого нерационального использования человекоресурса, нужно модеру в биллинг дать инфу по свитчу, естественно состояния портов и маки это для меня, а в биллинге все будет красненькое или зелененькое с отметками либо всё хорошо либо всё плохо. Гораздо проще обьяснить любому диспетчеру, что зеленое - работает, чем : статус порта active/inactive статус линка up/down, show mac address-table port/vlan - совсем много лишней инфы. вот такие цели на сегодняшний день приследуются. не исключаю возможности, что настолько понравится работать с snmp, что полезем далее Клиентские порты и маки через неё никто(?) мониторить пока не додумался. Обычно через контекстное меню вызывают telnet и дальше через CLI. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 13 февраля, 2012 · Жалоба есть ли мак на порту и имя порта. поофтоплю немного.. ну получит абонент ип автоматом. в таблице ip source guard появится мак прибитый... а как можно узнать получил ли абонент автоматом днс? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Shiva Опубликовано 13 февраля, 2012 · Жалоба Если IP адрес получен, то DNS передан. Проверить можно только анализируя запросы по пути или на DNS сервере. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Yarlan Zey Опубликовано 13 февраля, 2012 · Жалоба или на DNS сервере. конкретную реализацию можно? без потери производительности Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...