![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Val57 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2006 Где: Toronto, Canada Репутация: 1 Всего: 1 |
Как это делается описано здесь:
http://www.cisco.com/en/US/products/hw/swi....html#wp1038546 http://www.cisco.com/en/US/products/hw/swi...008022ff46.html Я не сетевик, поэтому для меня сложновато схватить это слёту. Мне нужно в Веб перловском приложении изменить-установить статус реального сервера в лоадбалансере. Проблем с чтением текущих состояний через SNMP протокол у меня нет, а вот писать они не позволяют. См. ответ ис CISCO-support: ------------------------------- The MIB definitions in the MIB file are not correct. Development had created a CISCO-SLB-CAPABILITY-MIB which should have corrected the fact that all of the objects should be read-only. That MIB is available on CCO, though it's not well linked to the MIB lookup pages: ftp://ftp-sj.cisco.com/pub/mibs/v2/CISCO-SLB-CAPABILITY.my The capability MIB was added as a result of CSCds80184 regarding the lack of write access implementation in the SLB MIB. And the response from the DE is that this is by design and that the SLB MIB should be read only. -------------------------- Короче, SNMP - только для чтения. Через XML я не делал. Помогите! Куда грести, мужики? |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
Для работы с XML множество модулей тут
Я бы посоветовал XML::LibXML, а более простой XML::Simple Как работать в перл с XML много описано и на форуме - воспользоваться поиском. Как я понял из документации по ссылке http://www.cisco.com/en/US/products/hw/swi...008022ff46.html , то вам с помощью модулей, указанных выше необходимо генерить данный документ. Я к сожалению не работал с Cisco так много ![]() Если у вас есть больше информации, то просьба поделиться. Постараюсь помочь. К Cisco благо доступ есть ;) А из первой ссылки я понял, что описывается - как пользоваться этим CSM. Cisco любая подойдёт для тестового плацдарма? ![]() |
|||
|
||||
Val57 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2006 Где: Toronto, Canada Репутация: 1 Всего: 1 |
Постараюсь вкратце пояснить для чего всё это нужно. Я уже второй год работаю "программистом" в американсой компании занимающейся предоставлением услуг по хостингу. Клиентов много. В месяц приход составляет $30 млн. долларов. Естественно существуют веб приложения/системы для управления всем этим хозяством (для серверов под UNIX, это там где я, под Windows другая команда) одна со стороны работников (служб поддержки), которая в основном на PHP-mySQL, другая для клиентов работает под PERL-MASON-mySQL. Моя работа заключается в бесконечном усовершенствовании этих систем. Вот и работаю одновременно и в перле и в рнр с java скриптом на гарнир. PHP не люблю, зачем он вообще был придуман - остаётся только гадать, теперь в сложных приложениях приходиться "гланды через одно место вырезать". От perl - болдею. Это можно назвать любовью с первого взгляда - когда я начал делать первые CGI - приложения по приезду в Канаду восемь лет назад в эпоху .COM-омовской золотой лихорадки. Perl - это не просто язык программирования- это стиль жизни. Свою первую программу я написал в 1975 году и поверьте мне было с чем сравниваьть PERL-идеологию, после 20 лет моей доперловой эпохи.
Проблема в том, что я не сетевик, и когда у кого-то возникла идея показывать пользователям некоторые параметры сетевых модулей в реальном времени, пришлось с нуля врубаться в эти CISCO, MIB, SNMP-протокол, OID и т.п. Сейчас всё читается, в моём примере, состояние реального сервера в лоадвалансере (далее LB, как он зовётся по-русски не видел). Потом сказали, а не плохо бы, чтобы пользователь сам изменял состояние реального сервера. Я тоже поначалу подумал, что через SNMP-протокол, согласно документации это можно делать. Промучился пару дней - ничего не пишется. Заслали письмо с CISCO-support, а они говорят - "Сорри, ошибочка в документации. Параметры только для чтения" Один яйцеголовый сетевик сказал, что как-то можно через XML ... и пропал на неделю - атаки отбивал (физически он присутсвует в Техаском отделении фирмы и так его не поймаешь). По его ссылкам я толком ничего не понял. Вот и решил поискать помощи на форумах. Спасибо nitr за первый отклик. С XML у меня проблем нет. По-моему я работал с XML::Simple и парсил довольно сложные XML-файлы. Также работал с RPC - делами. Тут, как я понял, простые xml-льки и RPC не пахнет. Здесь, как я догадываюсь надо установить LWP - соединение с LB, по его реальному IP, а не по какому-то свичевскому IP. IP мне сетевики дадут. Короче эмулировать браузер, это я делал уже не раз и вперёд как в одной из ссылок написано. Ты ему туда, а он тебе обратно. "Cisco любая подойдёт для тестового плацдарма? у меня модели 877 и 871 " - доберусь до сетевиков спрошу, но это не раньше чем через неделю. У нас 25 рождество и все уже разбежались. Я думаю это не такая уж уникальная задача - программно изменит что-то в CSM. Как сетевики-то это делают? Не с отвёрткой же в руках. |
|||
|
||||
Val57 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.12.2006 Где: Toronto, Canada Репутация: 1 Всего: 1 |
Праздники пролетели (в Америке). Сегодня связался в сослуживцами из Техасского филиала компании и вместе решили эту задачку.
Первую инфо я взял из: http://users.skynet.be/pascalbotte/rcx-ws-doc/perlpost.htm Немного адаптировали и заработало: IP - мною изменены это пример для создания фермы и реал сервера (без активизации) -------------------------------------------------------------------- #!/usr/bin/perl -w use strict; use LWP::UserAgent; use HTTP::Request::Common; my $userAgent = LWP::UserAgent->new(agent => 'perl post'); my $message = <<MSG; <?xml version="1.0"?> <config> <csm_module slot="9"> <serverfarm name="FOO"> <real_server ipaddress="1.2.3.4"> </real_server> </serverfarm> </csm_module> </config> MSG my $response = $userAgent->request(POST 'http://202.188.4.171/xml-config', Content => $message); print $response->error_as_HTML unless $response->is_success; print $response->as_string; print "\n\n\n\nThe End\n"; ---------------------------------------------------------------------- На выходе: HTTP/1.1 200 OK Connection: close Content-Length: 23 Client-Date: Thu, 04 Jan 2007 23:18:17 GMT Client-Peer: 202.188.4.171:80 Client-Response-Num: 1 <?xml version="1.0"?> The End ----------------------------------------------------------------------- Для активизации реал сервера: my $message = <<MSG; <?xml version="1.0"?> <config> <csm_module slot="9"> <serverfarm name="FOO"> <real_server ipaddress="1.2.3.4"> <inservice sense="yes"> </inservice> </real_server> </serverfarm> </csm_module> </config> MSG ------------------------------------------------------------------------- Я ещё поработаю с этим в реале пару недель. Если есть вопросы. Пишите. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |