Russian Qt Forum
Ноябрь 23, 2024, 17:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
написать прогу управления "умными свичами"
Страниц: [
1
]
2
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: написать прогу управления "умными свичами" (Прочитано 17153 раз)
white_crow
Гость
написать прогу управления "умными свичами"
«
:
Июнь 29, 2012, 11:56 »
Доброго времени суток.
Начал изучать qt для себя.
Я одмин в сетке. Есть сотни однотипных свичей.
Сейчас я их настраиваю вручную (каждый по очереди через командную строку (CLI)).
Там сотни параметров и фишек.
Если нужно поменять что-то однотипное - было бы неплохо задать "шаблон" и послать на все свичи.
свичи можно настраивать через следующие протоколы telnet, ssh, snmp, http.
Вот хочу написать прогу сам себе.
(уже написал свое первое приложение - IP калькулятор простенький)
Посоветуйте - какой протокол управления мне выбрать (в контексте Qt) ?
Критерии следующие:
- простота реализации
- безопасность в данном случае не волнует (т.е. ssh не обязательно (хотя только он не передает все данные в открытом виде по сети, включая пароль)).
(если кому интересно - почему не волнует безопасность - потому что даже зная пароль от свича - юзеры не могут поулчить доступ к нему - потому что на свчие настроен отдельный VLAN управления, и задан список IP адресов, с которых разрешен вход в управление - (в списке тока мой IP адрес, а сменить адреса юзеры себе не могут - тоже одна из фич свича...))
Через web и snmp - не все параметры коммутатора можно изменить.
К тому же snmp - не имеет подтверждение выполнения (хотя можно просто еще раз считать данные из свчиа и если парметр уже новый - значит команда прошла удачно).
И изучать проприетарные mib к свичам - тоже не охота.
Склоняюсь к телнету - так как формат команд мне уже привычен и знаком.
и протокол очень простой.
И можно проанализировать результат выполнения команд.
Подскажите куда рыть по поводу Qt+ телнет.
И еще я так понимаю - мне нужно писать прогу - чтобы она параллельно слала указанный набор команд на все свичи из списка, иначе последовательно это будет очень долго.
Нужно создавать потоки? Или запускать копии, например консольных приложений, которые в фоне по телнету делают свою работу параллельно, приняв нужные параметры? А GUI только для "обвязки" и удобства выбора списка свичей и профилей конфигов для свичей?
«
Последнее редактирование: Июнь 29, 2012, 12:01 от white_crow
»
Записан
Bepec
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #1 :
Июнь 29, 2012, 12:01 »
Насколько я тебя понимаю - тебе нужно просто послать дофига дофига команд на сотни ip адресов
Хоть в протоколах не силён (разве только в своих силён аки бык), скажу - выбирай что тебе больше подходит из протоколов и изучай. http, telnet самые простые. далее snmp и последним ssh.
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #2 :
Июнь 29, 2012, 12:02 »
Да . именно так.
выбрал telnet : )
Толкните дальше, я уже много форумов почитал, погуглил, факи и доки почитал - в голове каша....
нужен волшебный пинок...: )
И вот по-поводу этого прокомментируйте
И еще я так понимаю - мне нужно писать прогу - чтобы она параллельно слала указанный набор команд на все свичи из списка, иначе последовательно это будет очень долго.
Нужно создавать потоки? Или запускать копии, например консольных приложений, которые в фоне по телнету делают свою работу параллельно, приняв нужные параметры? А GUI только для "обвязки" и удобства выбора списка свичей и профилей конфигов для свичей?
«
Последнее редактирование: Июнь 29, 2012, 12:04 от white_crow
»
Записан
alexis031182
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #3 :
Июнь 29, 2012, 12:05 »
Сделайте просто GUI-фронтэнд к консоли. Во-первых, это будет быстрее. Во-вторых, у Вас будет возможность использовать любой из протоколов, иначе, если писать их поддержку самому, уж очень много времени уйдёт.
Записан
alexis031182
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #4 :
Июнь 29, 2012, 12:06 »
Цитата: white_crow от Июнь 29, 2012, 12:02
И еще я так понимаю - мне нужно писать прогу - чтобы она параллельно слала указанный набор команд на все свичи из списка, иначе последовательно это будет очень долго.
Нужно создавать потоки? Или запускать копии, например консольных приложений, которые в фоне по телнету делают свою работу параллельно, приняв нужные параметры? А GUI только для "обвязки" и удобства выбора списка свичей и профилей конфигов для свичей?
GUI-фронтэнд к консоли + QProcess.
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #5 :
Июнь 29, 2012, 12:12 »
Ага. значит с консолью и фронтендом я правильно мыслил.
Но тогда вроде как многопоточность особо не нужна.
В том смысле, что - через фронтенд будет запускаться бэкенд (консольное приложение , которая приняв параметры (адрес свича и команды)) - уходит в фон и выполянется, а фронтенд вызывает следующую копию консольного приложения уже с другими параметрами из списка. т.е. тут не нужно ждать выполения бэкенда, а значит нечего распараллеливать с помощью QProcess.
Так ?
P.S. кстати, консольная софтинка у меня уже написана - на bash + expect = принимает параметры из командной строки и по телнету отсылает команды на свичи.
Я бы и дальше так и работал - но хочу скинуть с себя на сотрудников с меньшими правами доступа и знаниями (чтобы им не тупить в консоли "линагза", чтобы не давать доступ, чтобы не видели в совсем уж явно пароли). Вот почему захотелось гуи. Но, судя по всему - мне совсем не много придется писать - чтобы "подцепить" готовый бэкенд...
«
Последнее редактирование: Июнь 29, 2012, 12:22 от white_crow
»
Записан
Bepec
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #6 :
Июнь 29, 2012, 12:16 »
Да, если нужен самый простой работающий вариант.
Нет, если нужна ещё и система контролирующая, скажем так, узлы. Мониторящая параметры и прочее
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #7 :
Июнь 29, 2012, 12:19 »
Для мониторинга давно юзается готовая штука - zabbix называется - свободное ПО - для мониторинга сетевых служб и тысячи их параметров состояния, железа и прочее. Рисует кучу красифых графиков, есть разные события , сигнализация и прочие плюшки....
А мне именно для массового управления однотипным сетевым железом...
Я уже все понял - как проще сделать, только подтвердите мою мысль. что мне тут даже абсолютно не нужна многопоточность (на уровне фронтенда....)
(ибо в фоне можно запустить кучу копий backend приложения...)
«
Последнее редактирование: Июнь 29, 2012, 12:21 от white_crow
»
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #8 :
Июнь 29, 2012, 12:33 »
А, хотя вот н7юансы возникают:
- если тупо запускать в фоне консольные команды - тогда как контролировать результат выполнения команды.....
- и если дать прогу с фронтендом какому-нить сотруднику, он ее ставит на винде без настроеного окуржения для бэкенда (который настроен на linux серваке). Либо нужно под венду проработать аналогичный бэкенд и всякий раз его настравиать на разных windows XP (после очередной переустанвоки), либо как-то передавать параметры по сети на сервер, на котором останется бэкенд)...
Ну, а если уж совсем круто делать (долго и на перспективу) - нужно, как и вы и сказали - полностью пилить все в одной софтине....включая и телнет, и анализ ответов, и многопоточность....и профили конфигов (и брать списки свичей из базы) и прочее... если будет вдохновение - может попробую потиху пилить такую шткуку....(ибо времени появилось свободного достаточно...)
Записан
alexis031182
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #9 :
Июнь 29, 2012, 12:42 »
Цитата: white_crow от Июнь 29, 2012, 12:33
А, хотя вот н7юансы возникают:
- если тупо запускать в фоне консольные команды - тогда как контролировать результат выполнения команды.....
Из QProcess по моему есть возможность получать результат выполнения.
Цитата: white_crow от Июнь 29, 2012, 12:33
- и если дать прогу с фронтендом какому-нить сотруднику, он ее ставит на винде без настроеного окуржения для бэкенда (который настроен на linux серваке). Либо нужно под венду проработать аналогичный бэкенд и всякий раз его настравиать на разных windows XP (после очередной переустанвоки), либо как-то передавать параметры по сети на сервер, на котором останется бэкенд)...
Ну, а если уж совсем круто делать (долго и на перспективу) - нужно, как и вы и сказали - полностью пилить все в одной софтине....включая и телнет, и анализ ответов, и многопоточность....и профили конфигов (и брать списки свичей из базы) и прочее... если будет вдохновение - может попробую потиху пилить такую шткуку....(ибо времени появилось свободного достаточно...)
Тогда GUI-фронтэнд, устанавливаемый на win-клиентах может через сокеты (через самописный протокол) посылать команды Console-фронтэнду, устанавливаемому на сервере.
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #10 :
Июнь 29, 2012, 12:54 »
ок, буду пилить пробовать по-тиху.
Спасибо за ответы.
Записан
DmitryM
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #11 :
Июнь 29, 2012, 14:13 »
ИМХО для таких целей лучше Python/Perl, у них куча библиотек для работы с различными протоколами.
Записан
alex312
Хакер
Offline
Сообщений: 606
Re: написать прогу управления "умными свичами"
«
Ответ #12 :
Июнь 29, 2012, 14:15 »
Цитата: white_crow от Июнь 29, 2012, 12:33
....
- если тупо запускать в фоне консольные команды - тогда как контролировать результат выполнения команды.....
....
http://qt-project.org/doc/qt-4.8/qprocess.html#communicating-via-channels
Записан
white_crow
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #13 :
Июнь 29, 2012, 14:57 »
Цитата: DmitryM от Июнь 29, 2012, 14:13
ИМХО для таких целей лучше Python/Perl, у них куча библиотек для работы с различными протоколами.
Ну так или bash, как в моем случае уже сделано... : )
Но ведь речь идет об "морде".
А веб морду к Python/Perl не охота делать (аллергия на веб интерфейс : )
да и вообще - хочется что-то уж одно изучить....Вот читал долго и выбрал Qt. Думаю - вполне можно запилить GUI приложение (причем скомпилить на win, linux, MAC).
Записан
DmitryM
Гость
Re: написать прогу управления "умными свичами"
«
Ответ #14 :
Июнь 29, 2012, 16:53 »
Цитата: white_crow от Июнь 29, 2012, 14:57
А веб морду к Python/Perl не охота делать (аллергия на веб интерфейс : )
PyQt, а так же Tcl/Tk
Цитата: white_crow от Июнь 29, 2012, 14:57
Вот читал долго и выбрал Qt. Думаю - вполне можно запилить GUI приложение (причем скомпилить на win, linux, MAC).
Qt в первую очередь библиотека языка C++, а на C++ вы будете делать долго и мучительно, в первую очередь из-за работы через telnet, ssh, snmp
Записан
Страниц: [
1
]
2
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...