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