SiXeD Опубликовано 12 сентября, 2011 · Жалоба Цель такова, отслеживать подписку к multicast группе Какой пользователь, к какой группе, в какое время подписался (не используя middleware) Есть ли какие идеи? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 12 сентября, 2011 · Жалоба Включить debug igmp и отправлять на удалённый syslog? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 12 сентября, 2011 · Жалоба Включить debug igmp и отправлять на удалённый syslog? на сервере трансляции нет функции debug на свичах тоже, нужен альтернативный вариант Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mschedrin Опубликовано 12 сентября, 2011 · Жалоба Включить debug igmp и отправлять на удалённый syslog? на сервере трансляции нет функции debug на свичах тоже, нужен альтернативный вариант А что за оборудование в сети стоит, через которое проходит мультикаст? Есть несколько вариантов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 12 сентября, 2011 · Жалоба А что за оборудование в сети стоит, через которое проходит мультикаст? Есть несколько вариантов. d-link des-3028, в сеть приходит голый мультикас Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 12 сентября, 2011 · Жалоба SiXeD У вас весь мультикаст по L2 бегает? На 3028 настроен ism? Если есть ism, то вы не увидете всех join-ов и leave-ов выше, а поскольку debug-а нет, то в общем случае никак. Можно ещё периодически забирать таблицу igmp snooping, но тогда быстрые переключения вы не зафиксируете Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 12 сентября, 2011 · Жалоба Можно ещё периодически забирать таблицу igmp snooping, но тогда быстрые переключения вы не зафиксируете Большое спасибо за идею. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 12 сентября, 2011 · Жалоба SiXeD Ну ещё надо проверить умеют ли эти длинки отдавать таблицу igmp по snmp(а иначе геморройно). Если Вы это делаете ради статистики, то забудьте, абоненты выключают телек и не выключают stb, получается не статистика популярности, а хз что. Когда stb будут интегрированы в телеки, тогда эта задача будет актуальна. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
breusovok Опубликовано 12 сентября, 2011 · Жалоба У нас не коммерческий юникаст, проигрыватель IPTv Player умеет отсылать статистику по просмотрам на сервер в XML. думаю и на приставки можно прикруть нечто подобное. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 13 сентября, 2011 · Жалоба Всем спасибо, а вот первые наброски мож кому пригодятся #!/usr/bin/php <?php $hb = array("0"=>'0000', "1"=>'0001', "2"=>'0010', "3"=>'0011', "4"=>'0100',"5"=>'0101',"6"=>'0110',"7"=>'0111',"8"=>'1000',"9"=>'1001',"a"=>'1010',"b"=>'1011',"c"=>'1100',"d"=>'1101',"e"=>'1110',"f"=>'1111'); function Sget($ip, $id) { $community = 'пароль свича'; $sysdesc = @snmpwalk($ip, $community, $id, 100); return $sysdesc; } function Sgetoid($ip, $id) { $community = 'пароль свича'; $sysdesc = @snmpwalkoid($ip, $community, $id, 100000); return $sysdesc; } function Svlan($ip) { global $hb; $count=0; $port = Sgetoid($ip, '1.3.6.1.4.1.171.11.63.6.2.7.5.1.4.100'); foreach ($port as $keys=>$values) { $port = ereg_replace(".*SNMPv2-SMI::enterprises.171.11.63.6.2.7.5.1.4.100.","",$keys); $res = strtolower(str_replace(" ","",str_replace('Hex-STRING: ','',$values))); if (substr($port, 0, 3)=='224') { $ports=''; for ($i=0; $i<=strlen($res); $i++) {$ports.=$hb[$res[$i]]; } for ($i=0; $i<=48; $i++) if ($ports[$i]=="1") $result[$i+1][]=$port; } } return $result; } exec("cat /remote_snmp/ip ", $tmp); #фаил с ip свичей #$tmp[]='ip свича'; foreach($tmp as $key=>$value) { $vlan[$value]=Svlan($value); // break; } print_r($vlan); ?> PS: 250 свичей проходит за 2-3 секунды Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 13 сентября, 2011 · Жалоба snmpwalk php-шный очень кривой, лучше его не использовать. вызывайте внешний snmpwalk, а ещё лучше bulkwalk, если оборудование поддерживает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...