Grafana as Code实践指南

21f6683ef2de6b71ff62c62ddd2666a8.png

文章较长,建议关注后再读:

er

介绍

Grafana as Code的意思是将Grafana的所有的配置——包括Dashboard——都通过代码来声明。通过代码来声明的方式有如下好处:

  1. 所有的代码都可版本化。就意味着可以进行Code Review。也就是意味我们可以得到Code Review带来的所有的好处;

  2. 减少手工配置量。如果一个环境有30个Dashboard,存在3个环境,你就必须手工配置 30*3个Dashboard;

  3. 无痛重建。就是重建一套新的Grafana,对你的团队来说是毫无压力的。

  4. 方便与其它系统集成。比如根据业务系统,自动生成新的配置。

  5. 可对dashboard的代码进行单元测试。

本文是我们的一些实践经验的总结。

整体步骤

我们将Grafana的配置可以分成两部分来看:

  • 部署配置部分:部署Grafana应用过程的配置,如应用内存大小、使用的域名、插件安装等。说白了就是一个”空“的Grafana;

  • 应用配置部分:Grafana应用本身的配置,如包含的folder列表、dashboard、LDAP配置等等。

部署配置部分,很大一部分程度取决于你的部署方式。我们建议是通过docker的方式运行。如果你还没上线Kubernetes,那么,我们推荐你使用docker-compose的方式部署。而Kubernetes,我们推荐你使用Helm进行部署。Chart推荐官方的chart:https://github.com/grafana/helm-charts/tree/main/charts/grafana 。这两种方式都支持配置的方式部署。

使用Helm部署时,我们有以下建议:

  1. 指定Grafana的镜像的版本,而不是使用latest版本。使用latest的后果是,不知道哪天,你的Grafana就可能因为Grafana版本与插件版本不一致而不可用。

  2. 通过配置Values中的plugins字段,实现Grafana自动化下载依赖。如果你的部署环境有网络问题,可能需要你修改chart以实现从指定的地方下载插件。

  3. 虽然Values中有提供数据源和dashboard的配置,但是,我们建议把它放在应用配置部分。

而应用配置部分,Grafana应用本身的配置,我们建议通过Terraform实现。Terraform大多数时候被认为是基础设施的工具。其实,它是一款声明式的状态管理工具。本文使用它来管理Grafana的状态。

采用Terraform进行部署Grafana配置的步骤如下:

  1. 准备存储Terraform状态数据的后端。我们使用PostgreSQL作为后端;

  2. 在编辑器中,写T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值