oleg77 Posted March 30, 2012 Posted March 30, 2012 Есть сеть с трансляцией IP-TV. Сеть состоит из 2950 и 3550. Как посчитать сколько какой канал (multicast группу) смотрит ? Можно конечно обходить все cisco и смотреть на каждой, но мне кажется это не самый лучший вариант. Вставить ник Quote
maxlapshin Posted March 30, 2012 Posted March 30, 2012 Вообще CAS с обратной связью может помочь. Вставить ник Quote
danilbal Posted March 30, 2012 Posted March 30, 2012 Угу, или мидлварька в конце-концов... Вставить ник Quote
s.lobanov Posted March 30, 2012 Posted March 30, 2012 Никак, до тех пор пока stb и телевизор не станут единым устройством. Часто вылкючают телевизор, при этом не выключают srt -> поток идёт, результаты становятся неадекватными. Вставить ник Quote
shicoy Posted March 30, 2012 Posted March 30, 2012 Никак, до тех пор пока stb и телевизор не станут единым устройством. Часто вылкючают телевизор, при этом не выключают srt -> поток идёт, результаты становятся неадекватными. Я например уже принципиально не выключаю STB, более того STB бывают живут своей жизнью (Dlink даже после выключения запрашивает мультикаст, Synet выключается, и включается снова, MAG это вообще тормоз #1 никогда не понятно уже выключился, или еще собирается). Но по факту самый эффективный способ обход по SNMP коммутаторов доступа, мы так делаем, процесс не слишком длительный и достаточно точный в пределах вышеназванных обстоятельств. Ну а CASом с обратной связью снимать статистику может только "интегратор" рассчитывающий попилить деньги сударей с "Нижнего Тагила/Норильска". Вставить ник Quote
maxlapshin Posted March 31, 2012 Posted March 31, 2012 Не понял в чем проблема CAS-а с обратной связью? Раз ключи запрашиваются, значит поток идет. Вставить ник Quote
oleg77 Posted April 2, 2012 Author Posted April 2, 2012 Но по факту самый эффективный способ обход по SNMP коммутаторов доступа, мы так делаем, Подскажите нужный OID Вставить ник Quote
garycat Posted April 2, 2012 Posted April 2, 2012 (edited) Графики строит munin ]# cat tvsub #!/bin/bash if [ "$1" = "config" ]; then echo 'graph_title IPTV Subscribers Znamensk TV' echo 'graph_args --base 1000 -l 0' echo 'graph_vlabel users' echo 'graph_category network' echo 'graph_scale yes' echo "subtv.label Subscribers All city" echo "subtv.draw AREA" echo "subtv.min 0" echo "subtvz.label Subscribers in Ahxxx" echo "subtvz.draw LINE2" echo "subtvz.min 0" echo "subtva.label Subscribers in Znxxx" echo "subtva.draw LINE2" echo "subtva.min 0" exit 0 fi echo -n "subtv.value " echo `cat /var/log/stat.igmp|cut -f18-21 -d.|cut -f1 -d =|grep 10.|sort|uniq|wc -l` echo -n "subtvz.value " echo `cat /var/log/stat.igmp|cut -f18-21 -d.|cut -f1 -d =|grep 10.8.|sort|uniq|wc -l` echo -n "subtva.value " echo `cat /var/log/stat.igmp|cut -f18-21 -d.|cut -f1 -d =|grep 10.7.|sort|uniq|wc -l` в кроне : 0,15,30,45 * * * * cigmp сам скрипт: cat cigmp #! /bin/bash #dkink.sh check_sw_name () { desc=$(snmpgetnext -v 2c -c public 10.7.64.$i system|cut -f4 -d:|cut -c 2-7) check_sw_model $desc } check_sw_model () { case $1 in 'ES-210' ) ;;#zyxel $i;; 'D-Link' ) check_swd_mod $i;; 'DGS-31' ) ;;#24tg $i;; 'PLANET' ) ;;#planet $i;; esac } check_swd_mod () { # уточняем модели коммутатора из серии 3200 desc_d=$(snmpgetnext -v 2c -c public 10.7.64.$1 system|cut -f4 -d:|cut -c 9-19) sel_dl_conf $desc_d } sel_dl_conf () { case $1 in DES-3200-10 )dl_10_cfg;; DES-3200-18 )dl_18_cfg;; DES-3200-26 )dl_26_cfg;; esac #exit 0 } dl_10_cfg () { #echo '10.7.64.'$i cm=$(snmpwalk -v 2c -c xyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.1.2.7.13.1.4|cut -f2 -d=|cut -c 2-2) cm=$(echo $cm|cut -c 1-1) case $cm in I ) snmpwalk -v 2c -c xyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.1.2.7.13.1.4;; esac #exit 0 } dl_18_cfg () { #echo '10.7.64.'$i cm=$(snmpwalk -v 2c -c xyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.2.2.7.13.1.4|cut -f2 -d=|cut -c 2-2) cm=$(echo $cm|cut -c 1-1) case $cm in I ) snmpwalk -v 2c -c zyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.2.2.7.13.1.4;; esac } dl_26_cfg () { #echo '10.7.64.'$i cm=$(snmpwalk -v 2c -c xyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.5.2.7.13.1.4|cut -f2 -d=|cut -c 2-2) cm=$(echo $cm|cut -c 1-1) case $cm in I ) snmpwalk -v 2c -c xyz 10.7.64.$i 1.3.6.1.4.1.171.11.113.1.5.2.7.13.1.4;; esac } for i in $(seq 6 161) do dup=$(ping -c 1 10.7.64.$i|grep transmitted|cut -f2 -d,|cut -c 2-2) echo '10.7.64.'$i case $i in 41 ) continue;; 42 ) continue;; 43 ) continue;; 143 ) continue;; 159 ) continue;; esac case $dup in 1 ) check_sw_name;; 0 ) ;;#echo 'host 10.7.64.'$i' - down';; esac done #rm -f /var/log/stat.igmp #cp /var/log/stat.tmp /var/log/stat.igmp exit 0 Edited April 2, 2012 by garycat Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.