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

    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;
    И хорошая статья на эту тему на Хабре.
    Ответ написан
    Комментировать