Grafana系列-GaC-1-Grafana即代码的几种实现方式
系列文章[*]Grafana 系列文章
[*]Terraform 系列文章
概述
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 的几种官方方案
官方推荐这么几种方案, 另外我也会加几个我认为可行的方案:
<ul>基于 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 的定制化开发:
[*]grafana-api-golang-client
[*]Grafana API
基于 Jsonnet 的 Dashboard as Code<ul>
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) (
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]