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文件

 

 

 

posted @   惊蛰2020  阅读(1087)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示