Доброго времени суток!
Поставлена задача создать web интерфейс на PHP для связи Syslog сервера который будет записывать логи с сетевого оборудования и SNMP manager для последующего управления сетевым оборудованием на основе данных Syslog сервера. Т.е. PHP скриптами считывать информацию из лог файла и передавать определённые команды SNMP manageru.
Кто когда-нибудь сталкивался с подобным родом задач отзовитесь.
И вообще можно-ли такое реализовать на PHP.
Заранее спасибо!
>Доброго времени суток!
>Поставлена задача создать web интерфейс на PHP для связи Syslog сервера который
>будет записывать логи с сетевого оборудования и SNMP manager для последующего
>управления сетевым оборудованием на основе данных Syslog сервера. Т.е. PHP скриптами
>считывать информацию из лог файла и передавать определённые команды SNMP manageru.
>
>Кто когда-нибудь сталкивался с подобным родом задач отзовитесь.
>И вообще можно-ли такое реализовать на PHP.
>Заранее спасибо!может хватит нести чушь и стоит нормально сформулировать задачу?
Есть конкретное оборудование (Cisco комутаторы и маршрутизаторы а также ADSL модемы) с которых логи передаются на Syslog сервер, также имеется SNMP менеджер который управляет оборудованием, необходимо анализировать логи Syslog сервера и передавать SNMP менеджеру управляющие команды с помощью PHP.
>Есть конкретное оборудование (Cisco комутаторы и маршрутизаторы а также ADSL модемы) с
>которых логи передаются на Syslog сервер, также имеется SNMP менеджер который
>управляет оборудованием, необходимо анализировать логи Syslog сервера и передавать
>SNMP менеджеру управляющие команды с помощью PHP.Вообще попробуйте посмотреть в тему snmp-trap. Идея с syslog я думаю у вас сразу отпадет по просмотру этого вопроса.
А так... за вас никто не будет писать. Вешайте свой скрипт в крон, пусть бегает по файлику лога занимается его ротацией и делает НН-ые процессы исходя из полученных логов.
>>Есть конкретное оборудование (Cisco комутаторы и маршрутизаторы а также ADSL модемы) с
>>которых логи передаются на Syslog сервер, также имеется SNMP менеджер который
>>управляет оборудованием, необходимо анализировать логи Syslog сервера и передавать
>>SNMP менеджеру управляющие команды с помощью PHP.
>
>Вообще попробуйте посмотреть в тему snmp-trap. Идея с syslog я думаю у
>вас сразу отпадет по просмотру этого вопроса.
>А так... за вас никто не будет писать. Вешайте свой скрипт в
>крон, пусть бегает по файлику лога занимается его ротацией и делает
>НН-ые процессы исходя из полученных логов.и php тут не лучший выбор
>[оверквотинг удален]
>>>управляет оборудованием, необходимо анализировать логи Syslog сервера и передавать
>>>SNMP менеджеру управляющие команды с помощью PHP.
>>
>>Вообще попробуйте посмотреть в тему snmp-trap. Идея с syslog я думаю у
>>вас сразу отпадет по просмотру этого вопроса.
>>А так... за вас никто не будет писать. Вешайте свой скрипт в
>>крон, пусть бегает по файлику лога занимается его ротацией и делает
>>НН-ые процессы исходя из полученных логов.
>
>и php тут не лучший выбора что тогда посоветуете использовать в данной ситуации если не PHP?
Зависит от задачи, а описали вы ее плохо.
Если это полностью автоматическая система, которая выполняется на сервере, то демон на perl или python.
Если же это вебинтерфес, который выводит текущую информацию и выполняет действия по указанию оператора, то php вполне подойдет, хотя лучше было бы разбить на две части
1) демон на perl/python, который делает всю реальную работу
2) php интерфейс, который общается с пользователем, получая от демона статусы и передавая на выполнение команды
Ну и наконец можно воспользоваться уже существующими системами мониторинга, например nagios, дополнив ее своими скриптами(опять таки perl/python), запускающимися по условиям.
>[оверквотинг удален]
>Если это полностью автоматическая система, которая выполняется на сервере, то демон на
>perl или python.
>Если же это вебинтерфес, который выводит текущую информацию и выполняет действия по
>указанию оператора, то php вполне подойдет, хотя лучше было бы разбить
>на две части
>1) демон на perl/python, который делает всю реальную работу
>2) php интерфейс, который общается с пользователем, получая от демона статусы и
>передавая на выполнение команды
>Ну и наконец можно воспользоваться уже существующими системами мониторинга, например nagios, дополнив
>ее своими скриптами(опять таки perl/python), запускающимися по условиям.Нет это не полност ью автоматическая система. На сервере Linux стоит Syslog сервер который собирает логи с оборудования также есть встроенный в Linux SNMP manager с помощью которого мы управляем оборудованием. Нужно веб интерфейс который отображает логи и фильтрует их (логи) в зависимости от поставленых задач, затем оператор принимает решение и управляет оборудованием с помощью веб интерфейса(SNMP menegera - передача ему команд). также необходимо автоматическую часть которая выполняет определённые действия при условии что в логах встречается определённая запись. Я не прошу за меня это писать, я прошу совета вашего как это лучше реализовать и на каком языке програмирования!
Спасибо заранее всем кто откликнется!
В такой постановке PHP вполне подойдет для веб-интерфейса, если конечно вы знаете как отдать через него команду snmp manager. Для фильтрации данный в пыхе есть PCRE.
Для автоматических действий лучше всего будет демон на perl, который будет через select следить за изменением лог файлов, читать новые строки из них, пропускать через набор регексов и выполнять те или иные действия. Примеры демонизации perl http://www.webreference.com/perl/tutorial/9/. Для работы с select стоит воспользоваться IO::Select(perldoc IO::Select), есть в стандартной поставке. Если понадобится что-то еще, например snmp, то стоит поискать на search.cpan.org готовый модуль под задачу.
Вопреки распространенному мнению на базовом уровне perl не сложнее других скриптовых языков, изучить основы и начать писать(но не читать чужой изощренный код) на нем не представляет сложности.
>[оверквотинг удален]
>пыхе есть PCRE.
>Для автоматических действий лучше всего будет демон на perl, который будет через
>select следить за изменением лог файлов, читать новые строки из них,
>пропускать через набор регексов и выполнять те или иные действия. Примеры
>демонизации perl http://www.webreference.com/perl/tutorial/9/. Для работы с select стоит воспользоваться IO::Select(perldoc IO::Select),
>есть в стандартной поставке. Если понадобится что-то еще, например snmp, то
>стоит поискать на search.cpan.org готовый модуль под задачу.
>Вопреки распространенному мнению на базовом уровне perl не сложнее других скриптовых языков,
>изучить основы и начать писать(но не читать чужой изощренный код) на
>нем не представляет сложности.Большое спасибо за разъяснения и помощь!!!