提供仪表板和数据源
简介
通过从版本控制的配置文件提供Grafana,了解如何跨多个团队重用仪表板和数据源。
在本教程中,你将:
- 仪表板的条款。
- 提供数据源。
先决条件
- Grafana 7.0
- 您正在进行教程的系统的管理员权限
配置为代码
配置为代码是将系统配置存储为一组版本控制的、人类可读的配置文件,而不是存储在数据库中。这些配置文件可以跨环境重用,以避免重复的资源。
随着组织中仪表板和数据源数量的增加,手动管理更改可能变得繁琐且容易出错。鼓励重用对于避免多个团队重新设计相同的仪表板非常重要。
Grafana支持通过代码进行配置供应.目前支持配置的资源有:
设置供应目录
在开始提供资源之前,Grafana需要知道在哪里可以找到配置目录.配置目录包含每当Grafana启动时应用的配置文件,并在运行时不断更新。
默认情况下,Grafana在安装Grafana的系统上的配置目录(Grafana > conf)中查找供应目录。但是,如果您是一名Grafana Administrator,那么您可能希望将配置文件放置在共享资源(例如网络文件夹)中,因此您将需要更改配置目录的路径。
属性可以设置不同的路径paths.provisioning
属性:
[paths] provisioning = <配置文件>的路径
供应目录假设如下结构:
供应/数据源/ 仪表板/ 通知/
接下来,我们将了解如何提供数据源。
提供数据源
每个数据源配置文件都包含一个清单它指定一组已供应数据源的所需状态。
在启动时,Grafana加载配置文件并提供清单中列出的数据源。
让我们配置一个TestData DB可以用于仪表板的数据源。
创建一个数据源清单
在
配置数据源/
目录,创建一个名为default.yaml
内容如下:apiVersion: 1 datasources:—name: TestData DB type: TestData
重新启动Grafana以加载新的更改。
在侧栏中,将光标悬停在配置(齿轮)图标并点击数据源.TestData DB出现在数据源列表中。
不同类型的数据源之间的配置选项可能有所不同。有关如何配置特定数据源的详细信息,请参阅数据源.
提供仪表板
每个仪表板配置文件包含一个清单,该清单指定一组的所需状态指示板供应商.
指示板提供者告诉Grafana在哪里查找指示板定义以及将它们放在哪里。
Grafana会定期检查仪表板定义的更改(默认每10秒检查一次)。
让我们定义一个仪表板提供者,这样Grafana就知道在哪里可以找到我们想要提供的仪表板。
定义仪表板提供程序
在配置/仪表板/
目录,创建一个名为default.yaml
内容如下:
apiVersion: 1 providers: - name: Default # provider文件夹的唯一可识别名称:Services #存放仪表板的文件夹类型:file options: path: <仪表板定义的路径> # Windows默认路径:C:/Program Files/GrafanaLabs/grafana/public/dashboards # Linux默认路径:/ var/lib/grafana/dashboards
有关如何配置仪表板提供程序的详细信息,请参阅指示板.
创建仪表板定义
在仪表板提供程序中指定的仪表板定义目录中,即。
options.path
,创建一个名为cluster.json
内容如下:{" __inputs ": [ ], "__ 需要”:[],“注释”:{”名单 ": [ ] }, " gnetId“可编辑”:错误:空,“graphTooltip”:0,”hideControls”:假的,“id”:空,“链接”:[],“小组”:[{“aliasColors”:{},“酒吧”:假的,“dashLength”:10“破折号”:假的,“数据源”:“TestData DB”、“填补”:1、“gridPos”:{“w”:“h”:8日,24日,“x”:0,“y”:0},“id”:2,“传奇”:{“alignAsTable”:假的,“avg”:假的,“当前”:假的,“马克斯”:假的,“最小值”:假的,“rightSide”:假的,“秀”:真的,“总”:false, "values": false}, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "percentage": false, "pointradius": 5, "points": false, "renderer": " float ", "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [], "thresholds": [], "timeFrom": null, "timeShift": null, "title": "CPU Usage", "tooltip": {"shared": true, "sort": 0, "value_type": "xaxis": {"buckets": null, "mode":“时间”、“名称”:零,“秀”:真的,”值 ": [ ] }, " yaxes”:[{“格式”:“短”、“标签”:空,“logBase”:1、“max”:空,“最小值”:空,“秀”:真正的},{“格式”:“短”、“标签”:空,“logBase”:1、“max”:空,“最小值”:空,“秀”:真的 } ] } ], " ”:“刷新”、“行”:[],“schemaVersion”:16日,“风格”:“黑暗”、“标签”:“kubernetes”,“模板”:{”名单 ": [ ] }, " 时间”:{“从”:“now-6h”,“对”:“现在”},“timepicker”:{“refresh_intervals”:(“5 s”,“10”,“30年代”,“1米”,“5米”,“15米”,“30米”,“1 h”,“2 h”,“一维”),“time_options”:[“5米”,“15米”,“1 h”,“6 h”,“12小时”,“24小时”、“二维”,“7 d”,“30 d ")},“时区”:“浏览器”,“标题”:“集群”、“版本”:0}
重新启动Grafana以提供新的仪表板,或者等待10秒钟,让Grafana自动创建仪表板。
在侧栏中,将光标悬停在上面指示板(方框)图标,然后点击管理.指示板显示在服务文件夹中。
如果你不指定
id
在仪表板定义中,然后Grafana在配置过程中分配一个。您可以设置id
如果您想从其他仪表板引用仪表板,您可以自己使用。注意不要使用相同的id
对于多个仪表板,因为这将导致冲突。
总结
在本教程中,您学习了如何通过从版本控制的配置文件提供Grafana来跨多个团队重用仪表板和数据源。
随着更多面板和配置被添加到仪表板中,仪表板定义可能会变得笨拙。有很多开源工具可以让管理仪表板定义变得更容易:
- grafana-dash-gen(Javascript)
- grafanalib(Python)
- grafonnet-lib(Jsonnet)
- grafyaml(YAML)