brew install jsonnet jsonnet-bundler
jb install github.com/grafana/grafonnet/gen/grafonnet-latest@main
Для создания реально работающего дашборда с данными, необходимо, чтобы в вашем Prometheus-датасорсе присутствовали метрики:
up {service}
(gauge) - метрика, отражающая рабочее состояние сервиса (булево значение, 0 или 1), название сервиса должно быть указано в лейблеservice
. Значerrors
(gauge) - метрика, отображающая процент ошибок (значение с плавающей точкой от 0 до 1) с произвольными лейбламиlatency_z
(gauge) - метрика, отображающая z-оценку (стандартное отклонение) времени обработки запросов, с произвольными лейблами.
Подробнее о Z-оценке тут: Standard Score (Wikipedia)
Как считать Z-оценку в Prometheus: [How to use Prometheus for anomaly detection in GitLab](How to use Prometheus for anomaly detection in GitLab)
name:
- название дашбордаdatasource:
- датасорс в Grafanasteps[]
- список шагов или этапа, выполняемых в ходе бизнес-процессаname:
- название шага или этапа (не используется)error_threshold:
- допустимый процент ошибок на этом шагеfilters:
- список labels для фильтрации метрик по этому шагу
jsonnet -J vendor main.jsonnet --ext-code values="std.parseYaml(importstr './client_flow.yml')" > client_flow_dashboard.json
Полученный файл client_flow_dashboard.json
импортировать в Grafana >>> профит!