LINUX.ORG.RU

Grafonnet: стоит ли того, или тот же json, только немного другой?

 , jsonnet


0

3

Я пошел ковыряться в grafonnet, это странный микс яваскрипта и жсона для генерации дешбордов в графане.

У него очень странная судьба: grafonnet-libs забанен, вместо него grafonnet просто.

Говорливость повышена относительно жсона/ямля. Вместо

dashboard.new(
  title="Title",
  timezone="browser",
  ...
)

нужна куча функций, по одной на каждое поле:

dashboard.new("Title") +
dashboard.withTimezone("browser") +
...

Через 3 часа ковыряния с нерабочей связкой из уже заброшенного но рабочего варианта grafonnet-libs, нерабочего но официального grafonnet-а и grizzly, который должен помогать, но вместо этого выдает странные сообщения об ошибке, возник вопрос:

а все эти генераторы дешбордов они точно помогают? Такое ощущение, что просто прочитать жсон и максимум воспользоваться jsonnet - этого вроде как хватит.

Или просто взять https://github.com/uber/grafana-dash-gen и он подойдет?

Зачем ?

в смысле генераторы dash-бордов и ковыряться в grafonnet ? первое вообще непонятно нахрена (наверное поэтому полусдохшие), второе если вы разработчик графаны, то наверное только тогда

оно-же всё мышевозно там делается в два щелчка. Или сотни одинаковых бордов из 100-ни источников ?

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

У меня задачи какие:

  1. дешборд это часть продукта. Он должен жить в гите, деплоиться оттуда, откатываться и т.п.

  2. Да, коллега может надрыгать в два щелчка. Соответственно это надо оттуда вытащить, сделать обычный ревью и положить в гит

  3. после всего этого оно может уехать в онпрем клиенту. Не руками же повторять на всех инсталяциях.

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

там-же вроде как есть json-модель..то есть весь dash-борд это json

«The JSON model below is the data structure that defines the dashboard. This includes dashboard settings, panel settings, layout, queries, and so on.»

намышевозил, получил json. Положил в дистрибуцию, закоммитил в git. И обратно. только разобраться (поспрашать в форумах,списках grafana) как правильно класть чтобы ничего у них не сломать.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

оно-же всё мышевозно там делается в два щелчка

Ты шутишь, наверное. Когда ты первый раз открыл для себя гафану то конечно, да, но потом дашборды разрастаются вместе с инфрой. И вот уже надо в сотне панелей добавить селектор, или threshold’ы поменять, или нагенерить стожных запросов с разными интервалами. IaaC не просто так придумали.

anonymous
()

Графоннет нужен чтобы вам с какой-то логикой нагенерить борды. Шаблонизатор, то есть. На выходе он вам даст джейсон, который ручками надо заинсталлить клиенту. Если это требуемое решение - окей.

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

l0stparadise ★★★★★
()
Ответ на: комментарий от l0stparadise

Поддерживаю предыдущего оратора.

По собственному опыту автоматизации дашбордов Графаны, чем меньше там промежуточных слоёв и зависимых библиотек, тем лучше. Чем проще устроена интеграция, тем лучше. Если в задаче можно обойтись одним curl-ом, который шлёт JSON из файлика, то так и надо сделать.

anonymous
()
Ответ на: комментарий от anonymous

вот есть такое подозрение.

Я как-то привык к тому, что руками всё верстаешь, а тут получаются инструменты для генерации верстки в разы хуже, чем визивиг редактор

max_lapshin ★★★★★
() автор топика