Grafana Panel JSON到Jsonnet?

Grafana Panel JSON到Jsonnet?,grafana,jsonnet,Grafana,Jsonnet,我能够生成面板JSON来配置Grafana仪表板,如下所示: jsonnet -J ~/grafana/grafonnet-lib mydash.jsonnet > mydash.json 但是,我喜欢在Grafana中操纵和编辑生成的仪表板 我绝对感到困惑和沮丧的是,一旦我在Grafana中通过调整其设置等方式更改了UI。。。如何将恢复到Jsonnet中?现在对我来说,这是一次非常尴尬的开发体验。我导出面板JSON,在一个单独的窗口中打开源Jsonnet,并认真地尝试将我的更改移植到另

我能够生成面板JSON来配置Grafana仪表板,如下所示:

jsonnet -J ~/grafana/grafonnet-lib mydash.jsonnet > mydash.json
但是,我喜欢在Grafana中操纵和编辑生成的仪表板

我绝对感到困惑和沮丧的是,一旦我在Grafana中通过调整其设置等方式更改了UI。。。如何将恢复到Jsonnet中?现在对我来说,这是一次非常尴尬的开发体验。我导出面板JSON,在一个单独的窗口中打开源Jsonnet,并认真地尝试将我的更改移植到另一个窗口

在JSON中,这尤其令人痛苦:

      "sparkline": {
              "fillColor": "rgba(31, 118, 189, 0.18)",
              "full": true,
              "lineColor": "rgb(31, 120, 193)",
              "show": true
      },
您需要手动转换为Jsonnet/Graffonet库:

sparklineShow=true,
sparklineFull=true,
colorBackground=true,

我是否缺少技巧或工作流程?

您必须编辑mydash.jsonnet并在其中添加所需的属性。目前我还不知道如何将grafana json转换回grafonnet。有时要找到合适的属性有点困难

您要查找的属性如下所示:

像这样的方法应该会奏效:

local grafana = import 'grafonnet/grafana.libsonnet'; grafana.dashboard.new( 'Sparkline Example' ) .addPanel( grafana.singlestat.new( 'uptime', format='s', span=4, valueName='current', sparklineFillColor='rgba(31, 118, 189, 0.18)', sparklineFull=true, sparklineLineColor='rgb(31, 120, 193)', sparklineShow=true, ) .addTarget( grafana.prometheus.target( 'time()', ) ), gridPos={ x: 0, y: 0, w: 24, h: 3, } ) 本地grafana=导入'grafonnet/grafana.libsonnet'; 格拉凡纳,仪表板,新的( “闪闪发光的例子” ) .addPanel( grafana.singlestat.new( “正常运行时间”, format='s', span=4, valueName='current', sparklineFillColor='rgba(311181890.18)', sparklineFull=正确, SparklineColor='rgb(31120193)', sparklineShow=正确, ) .addTarget( 格拉凡纳·普罗米修斯·塔吉特( “time()”, ) ),gridPos={ x:0,, y:0, w:24, h:3, } )