Назад | Перейти на главную страницу

График пропускной способности сети, показывающий всплески в Grafana (с InfluxDB) из-за ошибки вычислений

Я возился с панелью управления Grafana для моей домашней сети, и у меня возникли проблемы с графическим отображением пропускной способности сети. Я собираю данные в виде октетов ввода / вывода с моего EdgeRouter Lite с помощью SNMP (через Telegraf) и сохраняю их в InfluxDB.

В качестве фона для данных: я отображаю SNPM OID. IF-MIB::ifInOctets к "in" поле в InfluxDB и ifOutOctets к "out".

Вот как выглядит мой график: Конфигурация графика и запроса. Вы можете увидеть странный отрицательный всплеск около 13:03 по центральноевропейскому времени и запрос, который я использовал для графика. Необработанный запрос выглядит так:

SELECT derivative(mean("in"), 1s) * 8 FROM "interfaces" WHERE "agent_host" = 'erl-0' AND "interface" = 'eth0' AND $timeFilter GROUP BY time($interval) fill(null)

Исходные данные из InfluxDB выглядят так:

time                 agent_host  interface  alias  in          out
1473678126000000000  erl-0       eth0       WAN    3205308591  319785590
1473678136000000000  erl-0       eth0       WAN    3321553117  353290530
1473678147000000000  erl-0       eth0       WAN    3445036903  392119701
1473678156000000000  erl-0       eth0       WAN    3581558041  425580762
1473678166000000000  erl-0       eth0       WAN    3672208729  443676764
1473678176000000000  erl-0       eth0       WAN    3788670837  466220844
1473678187000000000  erl-0       eth0       WAN    3919232023  492503082
1473678196000000000  erl-0       eth0       WAN    4049747221  519032038
1473678206000000000  erl-0       eth0       WAN    4175388518  542356489
1473678216000000000  erl-0       eth0       WAN    4267330205  555825188
1473678226000000000  erl-0       eth0       WAN    92739158    574152376
1473678236000000000  erl-0       eth0       WAN    214850117   592841397
1473678247000000000  erl-0       eth0       WAN    368351063   615091793
1473678257000000000  erl-0       eth0       WAN    471647935   629344345
1473678268000000000  erl-0       eth0       WAN    561029600   640088389
1473678295000000000  erl-0       eth0       WAN    853931068   683745372

Я совсем не разбираюсь в графиках и математике, поэтому мне сложно понять, где возникает эта ошибка - это странные исходные данные или неправильный расчет? Что я могу сделать, чтобы это исправить?


мжаасе ответ помог мне разобраться в проблеме. Я также узнал, что у InfluxDB есть non_negative_derivative() функция, которая дает мне результат, который мне нужен.

Вы рассчитываете производную. Таким образом, вы фактически не получаете пропускную способность, вы получаете изменение пропускной способности, как это делают производные. Вы можете видеть, что до отрицательного всплеска у вас было 4 или 5 точек данных около 100 Мбит - это означает, что до всплеска ваша пропускная способность медленно повышалась с 0 до примерно 500 Мбит. Таким образом, когда он упадет до нуля, вы получите отрицательное изменение на 500 Мбит.