Grafana系列-GaC-1-Grafana即程式碼的幾種實現方式

2023-06-18 21:00:26

系列文章

概述

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 的幾種官方方案

官方推薦這麼幾種方案, 另外我也會加幾個我認為可行的方案: