Ninja Posted October 16, 2014 (edited) Привет. В порыве безделия набросал скриптик, отрисовывающий загрузку QAM на EMR. На скорую руку, если есть желание - допилите до нормального пересчета в мегабиты, добавьте цикл. Ну и конечно же, поделитесь результатом и кодом с остальными ;) #!/usr/bin/perl # use RRDs; my $rrddbname = 'qamrrd'; my $rrd = '/var/www/mrtg/rra'; my $img = '/var/www/mrtg/qamrrd'; my $snmp_host = '10.20.30.40'; my $snmp_community = 'public'; my $snmp_oid = '.1.3.6.1.4.1.32285.2.2.1.3004.101.1.6.1'; my $qama = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.1 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qama); my $qamb = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.2 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamb); my $qamc = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.3 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamc); my $qamd = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.4 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamd); my $qame = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.5 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qame); my $qamf = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.6 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamf); my $qamg = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.7 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamg); my $qamh = `snmpwalk -Os -c $snmp_community -v2c $snmp_host $snmp_oid.8 | sed 's/\"//g' | cut -f 4 -d " "`; chomp ($qamh); # if rrdtool database doesn't exist, create it if (! -e "$rrd/$rrddbname.rrd") { RRDs::create "$rrd/$rrddbname.rrd", "-s 60", "DS:qama:GAUGE:600:0:60000", "DS:qamb:GAUGE:600:0:60000", "DS:qamc:GAUGE:600:0:60000", "DS:qamd:GAUGE:600:0:60000", "DS:qame:GAUGE:600:0:60000", "DS:qamf:GAUGE:600:0:60000", "DS:qamg:GAUGE:600:0:60000", "DS:qamh:GAUGE:600:0:60000", "RRA:AVERAGE:0.5:1:2880", "RRA:AVERAGE:0.5:30:672", "RRA:AVERAGE:0.5:120:732", "RRA:AVERAGE:0.5:720:1460"; } # insert values into rrd database RRDs::update "$rrd/$rrddbname.rrd", "-t", "qama:qamb:qamc:qamd:qame:qamf:qamg:qamh", "N:$qama:$qamb:$qamc:$qamd:$qame:$qamf:$qamg:$qamh"; # Generate graphs CreateGraphs("day"); CreateGraphs("week"); CreateGraphs("month"); CreateGraphs("year"); #------------------------------------------------------------------------------ sub CreateGraphs($){ my $period = shift; RRDs::graph "$img/$rrddbname-$period.png", "-s -1$period", "-r", "-t Sumavision QAM Load", "-h", "200", "-w", "600", "-l 0", "-u 50000", "-a", "PNG", "-v Kbps", "DEF:qamag=$rrd/$rrddbname.rrd:qama:AVERAGE", "DEF:qambg=$rrd/$rrddbname.rrd:qamb:AVERAGE", "DEF:qamcg=$rrd/$rrddbname.rrd:qamc:AVERAGE", "DEF:qamdg=$rrd/$rrddbname.rrd:qamd:AVERAGE", "DEF:qameg=$rrd/$rrddbname.rrd:qame:AVERAGE", "DEF:qamfg=$rrd/$rrddbname.rrd:qamf:AVERAGE", "DEF:qamgg=$rrd/$rrddbname.rrd:qamg:AVERAGE", "DEF:qamhg=$rrd/$rrddbname.rrd:qamh:AVERAGE", "LINE2:qamag#FF0000:QAM-1", "GPRINT:qamag:LAST: Current\\: %8.0lf", "GPRINT:qamag:MIN: Min\\: %8.0lf", "GPRINT:qamag:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamag:MAX: Max\\: %8.0lf\\n", "LINE2:qambg#FFA500:QAM-2", "GPRINT:qambg:LAST: Current\\: %8.0lf", "GPRINT:qambg:MIN: Min\\: %8.0lf", "GPRINT:qambg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qambg:MAX: Max\\: %8.0lf\\n", "LINE2:qamcg#FF00FF:QAM-3", "GPRINT:qamcg:LAST: Current\\: %8.0lf", "GPRINT:qamcg:MIN: Min\\: %8.0lf", "GPRINT:qamcg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamcg:MAX: Max\\: %8.0lf\\n", "LINE2:qamdg#008000:QAM-4", "GPRINT:qamdg:LAST: Current\\: %8.0lf", "GPRINT:qamdg:MIN: Min\\: %8.0lf", "GPRINT:qamdg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamdg:MAX: Max\\: %8.0lf\\n", "LINE2:qameg#0000FF:QAM-5", "GPRINT:qameg:LAST: Current\\: %8.0lf", "GPRINT:qameg:MIN: Min\\: %8.0lf", "GPRINT:qameg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qameg:MAX: Max\\: %8.0lf\\n", "LINE2:qamfg#0000A0:QAM-6", "GPRINT:qamfg:LAST: Current\\: %8.0lf", "GPRINT:qamfg:MIN: Min\\: %8.0lf", "GPRINT:qamfg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamfg:MAX: Max\\: %8.0lf\\n", "LINE2:qamgg#800080:QAM-7", "GPRINT:qamgg:LAST: Current\\: %8.0lf", "GPRINT:qamgg:MIN: Min\\: %8.0lf", "GPRINT:qamgg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamgg:MAX: Max\\: %8.0lf\\n", "LINE2:qamhg#808080:QAM-8", "GPRINT:qamhg:LAST: Current\\: %8.0lf", "GPRINT:qamhg:MIN: Min\\: %8.0lf", "GPRINT:qamhg:AVERAGE: Avg\\: %8.0lf", "GPRINT:qamhg:MAX: Max\\: %8.0lf\\n", "HRULE:45000#FF0000", "HRULE:40000#00FF00", "HRULE:0#000000"; if ($ERROR = RRDs::error) { print "$0: unable to generate $period graph: $ERROR\n"; } } Edited October 16, 2014 by Ninja Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zedsh Posted October 16, 2014 Вот скоро закончу и выложу скрипт и шаблоны для zabbix:C508,C515CI,C545. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dsparill Posted October 17, 2014 Вот скоро закончу и выложу скрипт и шаблоны для zabbix:C508,C515CI,C545. Если поделитесь для c508 было бы супер. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mugur Posted December 25, 2014 Вот скоро закончу и выложу скрипт и шаблоны для zabbix:C508,C515CI,C545. Вы справились с шаблоном? Я используя заббикс получаю от шасси и карт только текстовые данные. И поэтому не получается нарисовать график Пример linux-xxbr:~ # snmpwalk -v 2c -c public 192.168.1.100 iso.3.6.1.4.1.32285.2.2.1.2009.101.1.7.1.1 SNMPv2-SMI::enterprises.32285.2.2.1.2009.101.1.7.1.1 = STRING: "66353 Kbps" Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zedsh Posted December 25, 2014 mugurИспользуйте внешнюю проверку и возможно - низкоуровневый поиск. Там ничего сложного. Мне пока просто немного некогда этим заниматься. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mugur Posted December 26, 2014 mugurИспользуйте внешнюю проверку и возможно - низкоуровневый поиск. Там ничего сложного. Мне пока просто немного некогда этим заниматься. Спасибо zedsh за подсказку)) По этой статье сделал то что было нужно http://vam.in.ua/index.php/it/19-zabbix/92--zabbixtripplite.html Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zedsh Posted December 26, 2014 Можно развивать общими силами шаблон для мониторинга. В архиве мой шаблон и скрипт съёма. Можете использовать их и модифицировать. https://www.dropbox.com/s/vn9qcjhs5xggj43/suma.zip?dl=0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
aak Posted January 28, 2015 MIB'ы есть для EMR 3.0? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kryvedko Posted August 19, 2021 snmpwalk -v2c -c {community} {ip} . Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...