Перейти к содержимому
Калькуляторы

snmp php5 apache биллинг управляемого оборудования на php сервер apache протокол snmp

Необходимо сконфигурировать/написать небольшой биллинг для саппорта (писать умеем на php), который минимально умеет собирать данные по snmp и отображать их на веб-морду диспетчерам, а в идеале не только собирать, но и изменять данные по протоколу snmp. Желательно snmp в связке с apache<->php<->mysql. Есть соображения по этому поводу? Буду очень благодарен за любую инфу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://code.google.com/p/swtoolz/

 

Вот то, что вам нужно, но заточено лишь на D-link, модели des-3028, des-3028G, des-3526, des-3026, des-3200-28.

 

Мы на эту софтинку посмотрели, и написали свою на перле, в связке с Нагиосом и биллингом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои.

Возможно чего не доглядел - бросьте камень :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если функции php для snmp знаете, чего вам не хватает? мибов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если функции php для snmp знаете, чего вам не хватает? мибов?

 

мозгов не хватает:) с сервера утилитой snmpwalk и oid'ами ответы получаю, тоесть сам механизм работы ясен, не доходит как связать apache с snmp, потому что скрипт у меня ругается call to undefined function snmpget() и тд. Иными словами, мой апач про snmp совсем не знает, а хотелось бы их подружить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

Только сразу учтите, что php5-snmp очень кастрированный(нет bulk-ов и прочих плюшек). Мне в итоге пришлось писать обёртки над утилитами snmpget и т.п. через функцию exec.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно, читал и нужно пересобирать 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, к сожалению нет тестовой тачки на которой можно было бы поиграть, на текущей машине висит нагиос и крутится пара рабочих страничек с базами, если чего-то наворочу - оторвут голову

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

В Centos есть пакет:

# rpm -qa | grep php-snmp

php-snmp-5.3.3-3.el6_2.6.x86_64

 

В дебиане разве нет? aptitude search snmp | grep php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

В Centos есть пакет:

# rpm -qa | grep php-snmp

php-snmp-5.3.3-3.el6_2.6.x86_64

 

В дебиане разве нет? aptitude search snmp | grep php

 

сделал почти так же только вручную, узнал что в природе есть не только модули но и целый пакет php-snmp, поставил рестартанул апач - вуаля, вызов snmp перестал ругаться

 

Всем огромное спасибо за участие. Иногда бывает затык, что сам по себе не знаешь с какой стороны подойти, сейчас snmp_walk() возвращает мне array() так что процесс пошел и далее это уже тема для другого разговора, если кто использовал еще какие-то интересные решения для управления коммутаторами L2 по snmp - милости прошу добавить в топик инфо, на самом деле инфы не так уж много по этому вопросу, особенно для малоопытных

 

еще раз спасибо всем за помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое, интересно почитать, бегло просмотрел и не нашел к сожалению самого главного - связки snmp протокола с apache через php (с перлом не знаком, но гугл подсказал, что можно и на php реализацию создать), snmp_get(), snmp_set(), snmp_walk() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои.

Возможно чего не доглядел - бросьте камень :)

 

Тот скрипт, который я вам привел и написан на php, если d-link подходящей модели есть под рукой, запускайте скрипт, скармливайте ему ip коммутатора, и смотрите практически все о его портах.

 

На перле мы писали софтинку другую, скажим так, по мотивам вышеприведенной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

Perl SNMP::Info посмотрите, может найдёте там для себя что-нибудь интересного

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое, интересно почитать, бегло просмотрел и не нашел к сожалению самого главного - связки snmp протокола с apache через php (с перлом не знаком, но гугл подсказал, что можно и на php реализацию создать), snmp_get(), snmp_set(), snmp_walk() само по себе несложно, а вот хотелось бы заострить внимание на том каким образом реализуется взаимодействие. В Вашем примере много полезных функций и можно сократить время, чтобы не писать свои.

Возможно чего не доглядел - бросьте камень :)

 

Тот скрипт, который я вам привел и написан на php, если d-link подходящей модели есть под рукой, запускайте скрипт, скармливайте ему ip коммутатора, и смотрите практически все о его портах.

 

На перле мы писали софтинку другую, скажим так, по мотивам вышеприведенной.

 

Да-да, видел, скрипт хороший, буду гонять-пробовать, просто вначале статьи у меня еще базовый функционал не работал .

Работаем с Zyxel (2108,3528,4012,4728) snmp интересует в основном на младших моделях, которые в сторону пользователя смотрят (на старших моделях пока что просто трапы ловим и мртг рисуется(хотя и сюда руки дотянем), но тут без каких-либо чудес ...сугубо базовая настройка),и на младших моделях чаще всего и производятся текущие действия, хорошо когда поначалу можно обойтись малым и дергать все руками, а вот со временем уже как-то неэффективно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

Perl SNMP::Info посмотрите, может найдёте там для себя что-нибудь интересного

спасибо, обязательно посмотрю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если будет много коммутаторов - откажитесь от php... медленно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если будет много коммутаторов - откажитесь от php... медленно

 

+1. Причина - отсутсвие человеческого multithread в php, если собирать данные периодически со всех свитчей. Если опрашивать какие-то характеристики по запросу оператора, то пойдёт, но лучше, конечно, сразу приобщаться к jsp, для java хотя бы snmp4j есть - отличная библиотека для работы с snmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

littledev

В Centos есть пакет:

# rpm -qa | grep php-snmp

php-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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если будет много коммутаторов - откажитесь от php... медленно

 

+1. Причина - отсутсвие человеческого multithread в php, если собирать данные периодически со всех свитчей. Если опрашивать какие-то характеристики по запросу оператора, то пойдёт, но лучше, конечно, сразу приобщаться к jsp, для java хотя бы snmp4j есть - отличная библиотека для работы с snmp

 

тут не в кол-ве коммутаторов счастье, мониторинг ведется нагиосом и он пока что справляется, первоначальная задача чтобы саппорт мог при работе с клиентом получить инфо о том в каком состоянии находится порт, есть ли мак на порту и имя порта. Таких запросов в среднем будет 1 в 3-5 минут в зависимости от интенсивности обращений в саппорт и кол-ва операторов, а вот если собирать статистику всей сети протоколом snmp - вот тут я целиком с Вами соглашусь, совсем другая песня и уже хочешь/не хочешь придётся лезть в дебри и учить новое. Ни для кого не секрет, что иногда задачи ставятся со сроком выполнения "позавчера", потому для начала накатим рабочий минимум, а далее "лень - двигатель прогресса" - сделает своё дело и подтолкнет модернизацию

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У наших диспетчеров The Dube стоит. По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр, в общем шикарная штука и развёртывается быстро + бесплатно!

 

Брать тут: http://www.mikrotik.com/thedude.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У наших диспетчеров The Dube стоит.

The Dude.

 

По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр

Её используют, чтобы видеть ситуацию с точностью до свича.

Клиентские порты и маки через неё никто(?) мониторить пока не додумался.

Обычно через контекстное меню вызывают telnet и дальше через CLI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У наших диспетчеров The Dube стоит.

The Dude.

 

По SNMP дружит с любым железом + нагрузки на каналы + удалённый просмотр

Её используют, чтобы видеть ситуацию с точностью до свича.

 

с точностью до свитча видит нагиос и это зеркало диспетчерской души, отдельный биг монитор перед глазами и видно, что зелёное, а что красное, карту под обьекты сами накладываете, так что вид можно делать как простой и удобный так и подробный но неоч. удобный - это уже собственно не задача. А вот с клиентом общение происходит отдельно от нагиоса в самописном биллинге, юзер говорит логин и у диспетчера по логину появляются все данные пользователя + список радиокнопок для выбора вопроса по которому звонит юзер (тоесть список базовых неисправностей и вопросов которые могут быть, пример: не работает инет, плохо работает инет, консультация) на деле все немного подробнее но несильно. Сделано, чтобы заявки от пользователей принимались коротенькие и понятные с удобным формированием бланка наряда. Всё это хорошо пока есть static ip а с переходом на dhcp - у админов перестает болеть голова, включаем option_82 каждому юзеру по порту управляхи и по айпишке на порту, все как в сказке, диспетчеры плачут - админы смеются :). И тут возникает вопрос как диспетчеру с клиентом общаться, оформлять ли наряд на неисправность если у пользователя банально отключена служба dhcp. Так вот, чтоб не было такого нерационального использования человекоресурса, нужно модеру в биллинг дать инфу по свитчу, естественно состояния портов и маки это для меня, а в биллинге все будет красненькое или зелененькое с отметками либо всё хорошо либо всё плохо. Гораздо проще обьяснить любому диспетчеру, что зеленое - работает, чем : статус порта active/inactive статус линка up/down, show mac address-table port/vlan - совсем много лишней инфы.

 

вот такие цели на сегодняшний день приследуются. не исключаю возможности, что настолько понравится работать с snmp, что полезем далее

Клиентские порты и маки через неё никто(?) мониторить пока не додумался.

Обычно через контекстное меню вызывают telnet и дальше через CLI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть ли мак на порту и имя порта.

поофтоплю немного.. ну получит абонент ип автоматом. в таблице ip source guard появится мак прибитый... а как можно узнать получил ли абонент автоматом днс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если IP адрес получен, то DNS передан. Проверить можно только анализируя запросы по пути или на DNS сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

или на DNS сервере.

конкретную реализацию можно? без потери производительности

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.