Cramac Posted April 26, 2014 Всем привет. Хочу сделать график DVB сигнала. Есть: сервер какти сервер с DVB (4 адаптера) что сделал: 1. На удаленном сервере сделал скрипт, вывода сигнала/качество/бер 2. В настройках snmpd прописал по OIDу выдавать работу этого скрипта 3. На сервере с какти, сделал скрипт, который по OIDу обрабатывает вывод и выводит строку qlty:85 sig:53 ber:0 4. Сделал Data Input Methods 5. Создал Data Templates 6. Создал Graph Templates Привязал все это к девайсу, в итоге имею ошибку rrd RRDTool Command:/usr/bin/rrdtool graph - \ --imgformat=PNG \ --start=-86400 \ --end=-300 \ --title='DVB signal' \ --rigid \ --base=1000 \ --height=240 \ --width=500 \ --alt-autoscale \ --vertical-label='' \ --slope-mode \ --font TITLE:10: \ --font AXIS:7: \ --font LEGEND:8: \ --font UNIT:7: \ DEF:a='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'ber':AVERAGE \ DEF:b='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'qlty':AVERAGE \ DEF:c='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'sig':AVERAGE \ CDEF:cdefbd='c,300,*' \ CDEF:cdefbe='b,300,*' \ CDEF:cdefbf='a,300,*' \ COMMENT:'Signal\n' \ :a#FF00FFFF:'Ber':STACK \ GPRINT:a:LAST:' Current\:%8.0lf' \ GPRINT:a:MIN:'Minimum\:%8.0lf' \ GPRINT:a:MAX:'Maximum\:%8.0lf\n' \ :b#AFECEDFF:'Quality':STACK \ GPRINT:b:LAST:'Current\:%8.0lf' \ GPRINT:b:MIN:'Minimum%8.0lf' \ GPRINT:b:MAX:'Maximum%8.0lf\n' \ :c#fffe04FF:'Signal':STACK \ GPRINT:c:LAST:' Current%8.0lf' \ GPRINT:c:MIN:'Minimum\:%8.0lf' \ GPRINT:c:MAX:'Maximum%8.0lf' \ AREA:cdefbd#FFC73BFF:'sig' \ AREA:cdefbe:'quality' \ AREA:cdefbf:'ber' RRDTool Says: ERROR: Could not make sense out of ':a#FF00FFFF:Ber:STACK' Что делаю не так? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted April 27, 2014 По шаблону графика не совсем понятно, что хотите получить. Но вообще STACK'и наслаиваются поверх AREA, видимо из-за этого и ошибка RRDTool. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Cramac Posted April 27, 2014 хочу получить простой график уровней. На подобии графика с интерфейсов эзернет. Поменял Stack на area получил что хотел, спс. Осталось придумать как его сделать универсальным, чтоб опять же как на эзернет, можно было выбрать на какой адаптер сделать график, а шаблон был 1 на всех. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted April 27, 2014 Осталось придумать как его сделать универсальным, чтоб опять же как на эзернет, можно было выбрать на какой адаптер сделать график, а шаблон был 1 на всех. Так же как и с трафиком интерфейсов надо использовать "Data Queries". Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted April 27, 2014 хочу получить простой график уровней. На подобии графика с интерфейсов эзернет. Поменял Stack на area получил что хотел, спс. Осталось придумать как его сделать универсальным, чтоб опять же как на эзернет, можно было выбрать на какой адаптер сделать график, а шаблон был 1 на всех. Поменяйте теперь area на line 1, ну или первый сверху AREA, второй и последюущие Line 1. Получите "наподобие" графика с интерфейсов езернет. Сигнал снимаете femon-ом? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Cramac Posted April 27, 2014 да, может немного не правильно, но вот такой: #!/bin/bash adapter=$1 Sig=`femon -a $adapter -H -c 1 | grep signal | awk '{print $5}' | sed 's/.\{1\}$//'` Qty=`femon -a $adapter -H -c 1 | grep signal | awk '{print $8}' | sed 's/.\{1\}$//'` ber=`femon -a $adapter -H -c 1 | grep signal | awk '{print $11}'` echo "qlty:$Qty sig:$Sig ber:$ber" Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Cramac Posted May 8, 2014 а подскажите как сделать, или не получится... был момент, BER подпрыгнул до хз каких параметров, и теперь пока этот скачек не уйдет за график, не видно ни сигнала, ни уровней ( от 0 до 100). Как лучше сделать чтоб и бер было видно и все остальное? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted May 9, 2014 Неидентичные величины или величины с сильно различающимися размерностями стоит разносить по разным графикам. К слову, несвязанные напрямую величины не стоит делать STACK'ами на одном графике, сделайте line'ами, а то так сложно оценить абсолютное значение каждого параметра. STACK'и в основном используют на аггрегирующих графиках, например когда надо на один график вывести суммарный трафик с нескольких интерфейсов, или например свободное/занятое пространство на нескольких дисках. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Painter Posted May 12, 2014 Для сильно различающихся по значению величин можно поставить свойство "Logarithmic Scaling (--logarithmic)" в Graph Template. Тогда скачки до 100500 пунктов не повлияют на отображение обычных значений Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Cramac Posted May 13, 2014 поставил данную опцию в графике и график вообще пропал, хотя ррд ошибок не выдает /usr/bin/rrdtool graph - \ --imgformat=PNG \ --start=1399872251 \ --end=1399958651 \ --title='DVB signal' \ --rigid \ --base=1000 \ --height=120 \ --width=600 \ --alt-autoscale \ --logarithmic \ COMMENT:"From 2014/05/12 09\:24\:11 To 2014/05/13 09\:24\:11\c" \ COMMENT:" \n" \ --vertical-label='' \ --slope-mode \ --font TITLE:10: \ --font AXIS:7: \ --font LEGEND:8: \ --font UNIT:7: \ DEF:a='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'ber':AVERAGE \ DEF:b='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'qlty':AVERAGE \ DEF:c='/home/www/htdocs/tech/cactin/rra/iptv_1_ber_2209.rrd':'sig':AVERAGE \ COMMENT:'Signal\n' \ AREA:a#FF00FFFF:'Ber' \ GPRINT:a:LAST:' Current\:%8.0lf' \ GPRINT:a:MIN:'Minimum\:%8.0lf' \ GPRINT:a:MAX:'Maximum\:%8.0lf\n' \ AREA:b#AFECEDFF:'Quality' \ GPRINT:b:LAST:'Current\:%8.0lf' \ GPRINT:b:MIN:'Minimum%8.0lf' \ GPRINT:b:MAX:'Maximum%8.0lf\n' \ AREA:c#7EE600FF:'Signal' \ GPRINT:c:LAST:' Current%8.0lf' \ GPRINT:c:MIN:'Minimum\:%8.0lf' \ GPRINT:c:MAX:'Maximum%8.0lf' Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...