Задать вопрос
@Shazo

Graphite (+grafana): как умножать одну метрику на другую?

Думаю о переходе на мониторинг через graphite с дашбоардами от grafana.

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

Предположим у меня есть 4-ре метрики:
service.type.host.a
service.type.host.b

service.group.c
service.group.d

Можно ли на основе этих метрик создать новые, к примеру:
service.total.a = service.type.host.a / service.group.c * service.group.d

Т.е. создавать новую метрику путём перемножения, сложения, вычитания, деления на основе других метрик из разных серий.

Понимаю что это можно делать вытаскивая через запрос значения метрики, потом выполнять нужные операции и отправлять уже как новую метрику обратно, но хотелось бы это делать проще.
  • Вопрос задан
  • 4777 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
sivakov512
@sivakov512
Я - это я. И все тут.
Таки да, на уровне визуализации графика это можно сделать.

Емнип, выглядит это примерно так:
  1. Строите исходные графики и делаете их невидимыми;
  2. Создаете новый запрос, где указываете только арифметическую функцию графаны и имена графиков, к которым применить;

Как я понял, в одном таком "запросе" реализовать сложную арифметку не удастся, то есть, согласно пожеланию в Вашем вопросе, service.total.a = service.type.host.a / service.group.c * service.group.d будет содержать пачку запросов:
  1. Запрос A: получение service.type.host.a
  2. Запрос B: получение service.group.c
  3. Запрос C: получение ervice.group.d
  4. Запрос D: умножение B, C
  5. Запрос E: деление A, D
    Только этот "запрос" делать видимым.

Но по моему опыту grafana не заменит полностью мониторинг, если только у Вас нет потребности в алерт-системе, поскольку graphite - система визуализации статистики.
При не высоких потребностях в алерт-системе можно использовать collectd-threshold, если Вы собираете статистику демоном collectd;
При более высоких потребностях можно использовать Seyren;
Если совсем уж, то есть Cabot;
И хорошая статья на эту тему на Хабре.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы