系列文章
概述
GaC(Grafana as Code, Grafana 即代码) 很明显是扩展自 IaC(Infrastructure as Code, 基础设施即代码)的概念.
在Terraform 系列 - 什么是 IaC?一文中, 我们已经详细地说明了相关的概念, 我们可以直接套用在 GaC 上:
Grafana 即代码 (Grafana as Code, GaC) 是指通过 代码 而不是手动流程 / 控制台点击来管理和配置 Grafana。
这里有 2 个关键词:
- Grafana
- Code
Grafana 是被管理对象,在这里,不仅仅是指 Grafana OSS 这一款产品, 还包括 Grafana Labs 提供的商业产品和云服务. 包括不限于:
- Grafana Alerting
- Grafna Cloud Stack, 包括 Grafana Cloud 的:
- 认证
- 权限
- 策略
- Service Account
- 组织
- ...
- Grafana Enterprise (企业版)
- Grafana OnCall: 事件响应和管理平台(IRM)
- Grafana SLO: SLA 和 可用性管理
- Grafana Synthetic Monitoring: 拨测, 类似 BlackBoxProbe
Code 是管理方式,即像管理代码一样管理 Grafana 资源。那么管理代码最重要的部分: 版本管理是绕不开的。
...
当然, 这一系列文章, 主要还是关注于通过代码的形式来管理 Grafana 这个产品.
这篇文章主要跟着Grafana as code: A complete guide to tools, tips, and tricks 这篇官方文章的逻辑来进行, 变穿插笔者的评价和最终选择.
GaC 的几种官方方案
官方推荐这么几种方案, 另外我也会加几个我认为可行的方案:
- 基于 Terraform 的 Grafana Terraform provider
- 基于 Ansible 的 Grafana Ansible collection
- Grizzly: Grafana 官方开源的一个部署和配置Grafana 一体化 cli 工具.
- Tanka: Grafana 官方开源的一个基于 jsonnet 的 Kubernetes 集群管理工具
- 基于 Crossplane 的Grafana Crossplane provider
- 基于 Kubernetes CRD 的 Kubernetes Grafana Operator
- 基于 API 的定制化开发:
- 基于 Jsonnet 的 Dashboard as Code
- grafana/jsonnet-libs: Grafana Labs' Jsonnet libraries (github.com)
- grafana/grafonnet: Jsonnet library for generating Grafana dashboards. (github.com)
- grafana/grafonnet-lib: Jsonnet library for generating Grafana dashboard files. (github.com) ( 标签:Grafana,Kubernetes,用户,几种,Jsonnet,Terraform,grafana,GaC From: https://www.cnblogs.com/east4ming/p/17489659.html