grafana provisioning設置默認模板和數據源


原文鏈接

https://www.cnblogs.com/xuxinkun/p/10032376.html

grafana provisioning

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中增加provisioning和目錄位置

...

    #################################### Paths ####################################
    [paths]
    # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
    ;data = /var/lib/grafana

    # Temporary files in `data` directory older than given duration will be removed
    ;temp_data_lifetime = 24h

    # Directory where grafana can store logs
    ;logs = /var/log/grafana

    # Directory where grafana will automatically scan and look for plugins
    ;plugins = /var/lib/grafana/plugins

    # folder that contains provisioning config files that grafana will apply on startup and while running.
    ;provisioning = /etc/grafana/conf/provisioning
...

 

在/etc/grafana/conf/provisioning中新建dashboardsdatasources目錄

datasources

datasource只支持靜態配置,即,在datasources中配置好后,grafana啟動時候將會進行加載。在grafana啟動后在加入該文件夾,需要重啟才能生效。

datasoures文件夾下需要放置對應的datasource的yaml文件,這里以sample.yaml為例:

[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的參數說明。

 

dashboards

不同於datasource,dashboards是支持動態加載的。這里介紹一個標准樣例。

[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中。

/tmp/grafana中,只需要將dashboard的json文件丟到里面去就可以了。grafana會自動加載。json文件就是從grafana的dashboard中導出的文件即可。注意一下相關datasource的配置。

 

導出json文件

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM