Как подсчитать время простоя сервисов в Prometheus+Grafana?
Столкнулся с задачей, выводить время простоя сервисов за 30 дней в Grafane из Prometheus. Запрос в Prometheus делаю вот так(первое число это количество опросов сервиса за 30 дней, в минуту делается 12 запросов) ((518400)-sum_over_time(up{instance="https://example.com"}[30d]))/12/60. В Prometheus отдает время в часах, по формуле все правильно. Но в Grafana делая тот же вопрос, я получаю погоду. Опыта в Prometheus нет большого. Подскажите почему Grafana выдает погоду и если есть варианты, то как изменить формулу. Заранее спасибо.
https://i.stack.imgur.com/H40yN.png
Ответы (1 шт):
Не совсем ясно какой плагин вы используете в Графане. Думаю именно из-за него или его настроек показывает погоду. Возможно в настройках плагина нужно разбираться.
Ваша формула работает в Графане(плагин к примеру Stat), главное в конце нужна еще одна скобка ")".
Вот хорошая статья для подсчета времени онлайн и оффлайн (https://utcc.utoronto.ca/~cks/space/blog/sysadmin/PrometheusCountUsageOverTime). Можно немного модифицировать вашу формулу ((5184000 - sum_over_time(up{instance="https://example.com"}[30d]))/12/60)
чтобы получилось вот так: 43200 - sum_over_time(up{instance="https://example.com"}[30d:1m]) где можно сразу выставить шаг забора метрик по минутно.