grafana provisioning (http://docs.grafana.org/administration/provisioning/#provisioning-grafana)是grafana 5.0后引入的功能,用以支持经过配置的方式进行datasource和dashboard的配置。数据库
要开启该功能,首先要在grafana的配置中增长provisioning的选项(http://docs.grafana.org/installation/configuration/#provisioning)。
即在grafana.ini中增长json
[paths] # folder that contains provisioning config files that grafana will apply on startup and while running. ;provisioning = /etc/grafana/provisioning
然后在/etc/grafana/provisioning中增长dashboards
和datasources
文件夹。api
[root@local provisioning]# ll total 0 drwxr-xr-x 2 root grafana 25 Nov 28 03:09 dashboards drwxr-xr-x 2 root grafana 25 Nov 28 03:09 datasources
datasource只支持静态配置,即,在datasources中配置好后,grafana启动时候将会进行加载。在grafana启动后在加入该文件夹,须要重启才能生效。app
datasoures文件夹下须要放置对应的datasource的yaml文件,这里以sample.yaml
为例:ide
[root@local provisioning]# cat datasources/sample.yaml apiVersion: 1 deleteDatasources: - name: influxdb orgId: 1 datasources: - id: 17 orgId: 1 name: influxdb type: influxdb typeLogoUrl: '' access: proxy url: http://localhost:8086 password: root user: root database: clustersch basicAuth: false basicAuthUser: '' basicAuthPassword: '' withCredentials: false isDefault: false jsonData: keepCookies: [] secureJsonFields: {} version: 4 readOnly: false
能够看到yaml分为三部分,apiVersion
是固定的。deleteDatasources
是启动时候将会首先从数据库中删除的datasource的名称。经过provisioning加载datasource没法从页面进行删除,只能在deleteDatasources
中进行删除。
再一部分就是datasources
,是一个列表,用以表示不一样的datasource。这里以influxdb为例。其余的也相似,具体能够参考其余datasource的参数说明。url
不一样于datasource,dashboards是支持动态加载的。这里介绍一个标准样例。code
[root@local provisioning]# cat dashboards/sample.yaml apiVersion: 1 providers: - name: 'default' orgId: 1 folder: '' type: file updateIntervalSeconds: 10 options: path: /tmp/grafana
apiVersion
是固定字段。providers是一个列表,用来存储不一样的dashboard源。这里主要介绍从本机某个路径加载dashboard。updateIntervalSeconds
是指动态加载的刷新频率,也就是10s进行一次刷新,从/tmp/grafana
中读取全部的dashboard配置,而后将其添加或者更新到grafana中。flux
在/tmp/grafana
中,只须要将dashboard的json文件丢到里面去就能够了。grafana会自动加载。json文件就是从grafana的dashboard中导出的文件便可。注意一下相关datasource
的配置。it
[root@local provisioning]# ll /tmp/grafana/test.json -rw-r--r-- 1 root root 24126 Nov 28 03:10 /tmp/grafana/test.json