Получить свободное место на диске в процентах для нескольких узлов с помощью Grafana
Я использую Grafana (v2.1.3) для визуализации метрик.
Метрики берутся из графита, собранного collectd. Целевой граф должен отображать свободное дисковое пространство в процентах для нескольких узлов, например, допустим, папка - это / data, поэтому метрика, представляющая свободное пространство в байтах, такова:
collectd.$node.df-data.df_complex-free
Метрики, представляющие общее пространство, являются суммой:
collectd.$node.df-data.*
Итак, у меня есть следующая конфигурация:
Series A: collectd.$node.df-data.df_complex-free (Invisible)
Series B: collectd.$node.df-data.* (Invisible)
Series C: alias(asPercent(#A, sumSeries(#B)), 'Free space')
Здесь $node-переменная, которая выбирается из выпадающий список (All, node1, node2, node3 и т. д.). Он работает как ожидалось, когда выбран один конкретный узел, но выбран неверный параметр All (например, если процент на узел равен ~ 95%, то при выборе All отображается 24%).
Другой вариант (вероятно, более предпочтительный:
Series A: collectd.$node.df-data.df_complex-free
Series B: groupByNode(collectd.$node.df-data.*, 1, 'sum')
Series C: scale(divideSeries(#A, #B), 100)
Опять же для одного узла это нормально, но как только выбран параметр "все узлы", то отображается следующая ошибка:
divideSeries второй аргумент должен ссылаться точно 1 серия
Есть идеи? Я считаю, что должно быть простое решение.
1 ответ:
Поскольку вы используете collectd и плагин df, вы можете просто включить параметр
ValuesPercentageв вашем/etc/collectd.conf.d/df.conf, тогда вы сможете запроситьcollectd.$node.df-data.percent_bytes-free
Comments