Добавить поле к оси X на графике RRDtool

Мой клиент хочет лучше понять значения дБм, которые отправляет и получает оптический SFP. Каждые 5 минут я опрашиваю эти значения и обновляю значения в файле RRD. Граф RRD, который я создаю с файлом RRD в качестве его источника, создается следующим образом:

/usr/bin/rrdtool graph /var/www/customer/tmp/ZtIKQOJZFf.png --alt-autoscale
--rigid --start now-3600 --end now --width 800 --height 350
-c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c FONT#000000
-c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal
--font LEGEND:8:'DejaVuSansMono' --font AXIS:7:'DejaVuSansMono' --font-render-mode normal
-E COMMENT:'Bits/s Last Avg Max \n'
DEF:sfptxpower=/var/www/customer/rrd/sfpdbm.rrd:SFPTXPOWER:AVERAGE
DEF:sfprxpower=/var/www/customer/rrd/sfpdbm.rrd:SFPRXPOWER:AVERAGE
DEF:sfptxpower_max=/var/www/customer/rrd/sfpdbm.rrd:SFPTXPOWER:MAX
DEF:sfprxpower_max=/var/www/customer/rrd/sfpdbm.rrd:SFPRXPOWER:MAX
LINE1.25:sfptxpower#000099:'tx ' GPRINT:sfptxpower:LAST:%6.2lf%s\g
GPRINT:sfptxpower:AVERAGE:%6.2lf%s\g GPRINT:sfptxpower_max:MAX:%6.2lf%s\g
COMMENT:'\n' LINE1.25:sfprxpower#B80000:'rx '
GPRINT:sfprxpower:LAST:%6.2lf%s\g GPRINT:sfprxpower:AVERAGE:%6.2lf%s\g
GPRINT:sfprxpower_max:MAX:%6.2lf%s\g COMMENT:'\n'

который рисует график, как это должно быть. Однако график, который получается из него, не очень читабелен, так как значения tx и rx составляют границу графика:
введите описание изображения здесь

В связи с этим у меня возникает вопрос: можно ли добавить какой-либо запас (например, процент (%)) к оси X, чтобы обе линии были легко видны на графике?

0

Решение

Граф RRDTool имеет четыре различных режима масштабирования, которые вы можете выбрать с помощью опций: автоматическое масштабирование (по умолчанию), alt-autoscale, указанное-расширяемое и указанное-жесткое.

Autoscale — это масштабирует график, чтобы соответствовать данным, используя алгоритм по умолчанию. Вы выбираете это с помощью --autoscale опция (или опуская другие параметры масштабирования). Это попытается ограничить диапазон оси Y общими диапазонами — в вашем случае, вероятно, от 0 до -5. Иногда это работает хорошо, иногда нет.

Alt-Autoscale — это похоже на автомасштабирование, но близко к фактическим данным max и min. Вы выбираете это с --alt-autoscale и это то, что вы используете в настоящее время.

Указанный, расширяемый — Это позволяет указать макс / мин для оси Y, но они расширяются, если данные находятся за пределами этого диапазона. Вы выбираете это, указав --upper-limit и / или --lower-limit но нет --rigid, В вашем случае, если вы дадите верхний предел -2 и нижний предел -4, это будет выглядеть хорошо, и диапазон графика будет расширен, если ваши данные перейдут к -5.

Указанный, жесткий — Это как и выше, но ограничения фиксируются там, где вы их указываете. Если данные выходят за пределы этого диапазона, то строка не отображается. Вы указываете это с помощью --rigid при определении верхней или нижней границы.

Обратите внимание, что с помощью указанных типов вы можете указать только один конец диапазона, чтобы получить указанный тип на одном конце и продолжать использовать тип автомасштабирования для другого.

Исходя из этого, я бы предложил вам удалить --rigid а также --alt-autoscale варианты, а вместо этого укажите --upper-limit -2 а также --lower-limit -4 для отображения ваших данных более аккуратно. Если они выйдут из этого диапазона, вы продолжите получать график, как в настоящее время — работает ли он или нет, зависит от характера данных и того, насколько они обычно могут варьироваться.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]