首页 > 其他分享 >Grafana 系列-GaC-2-Grafana Terraform Provider 基础

Grafana 系列-GaC-2-Grafana Terraform Provider 基础

时间:2023-06-19 13:57:31浏览次数:47  
标签:source grafana Terraform json Provider Grafana data example

系列文章

概述

前文最后总结了我的工具选型:

  • Grafana Terraform provider
  • Jsonnet

我们今天先简单介绍 Grafana Terraform provider.

Grafana Terraform Provider

Grafana provider 为 Grafana 提供配置管理资源。是目前 Grafana 官方提供的,覆盖的 Grafana 资源最全的 IaC 工具。

Grafana Terraform Provider 的代码是建立在 grafana-api-golang-client 之上的。

通过 Grafana Terraform Provider, 我们可以管理:

  • Alerting
    • Resources
      • grafana_contact_point
      • grafana_message_template
      • grafana_mute_timing
      • grafana_notification_policy
      • grafana_rule_group
  • Cloud
    • Resources
      • grafana_cloud_access_policy
      • grafana_cloud_access_policy_token
      • grafana_cloud_api_key
      • grafana_cloud_plugin_installation
      • grafana_cloud_stack
      • grafana_cloud_stack_api_key
      • grafana_cloud_stack_service_account
      • grafana_cloud_stack_service_account_token
      • grafana_machine_learning_holiday
      • grafana_machine_learning_job
      • grafana_machine_learning_outlier_detector
    • DataSources
      • grafana_cloud_ips
      • grafana_cloud_organization
      • grafana_cloud_stack
  • Grafana Enterprise
    • Resources
      • grafana_builtin_role_assignment
      • grafana_data_source_permission (AWS Managed Grafana 也有这个功能)
      • grafana_report
      • grafana_role
      • grafana_role_assignment
      • grafana_team_external_group
  • Grafana OSS
    • Resources
      • grafana_annotation
      • grafana_api_key
      • grafana_dashboard
      • grafana_dashboard_permission
      • grafana_data_source
      • grafana_folder
      • grafana_folder_permission
      • grafana_library_panel
      • grafana_organization
      • grafana_organization_preferences
      • grafana_playlist
      • grafana_service_account
      • grafana_service_account_permission
      • grafana_service_account_token
      • grafana_team
      • grafana_team_preferences
      • grafana_user
    • DataSources
      • grafana_dashboard
      • grafana_dashboards
      • grafana_data_source
      • grafana_folder
      • grafana_folders
      • grafana_library_panel
      • grafana_organization
      • grafana_organization_preferences
      • grafana_team
      • grafana_user
      • grafana_users
  • OnCall
  • SLO
  • Synthetic Monitoring

实战

因为 Grafana 资源相对比较清晰和独立,不像 AWS 会有很多复杂的关联关系。

所以关于 Grafana TF 代码的组织形式可以简单点:

  • 可以使 AllInOne 的 .tf 文件
  • 也可以根据资源类型,简单拆分为如下即可:
├── dashboard.tf
├── datasource.tf
├── grafana-ds-info.auto.tfvars.json
├── jsonnet (jsonnet 文件夹,dashboard 相关内容都在该文件夹下)
├── main.tf
├── outputs.tf
├── variables.tf
└── versions.tf

下面以第二种组织结构来详细介绍。

创建 Grafana Provider

main.tf 中,创建 Grafana Provider:

provider "grafana" {
}

如果只有一套 Grafana, 那么如上的配置完全就够用了。

如果有多套 Grafana, 则可以通过指定 Grafana provider 的 alias 来实现。具体如下:

provider "grafana" {
  alias = "aws-managed-grafana"
}

后续使用资源的时候,可以通过指定 provider 来区分,实例如下:

# provision folder
resource "grafana_folder" "play-grafana" {
  provider = grafana.aws-managed-grafana
  uid   = "play-grafana"
  title = "play-grafana"
}

标签:source,grafana,Terraform,json,Provider,Grafana,data,example
From: https://www.cnblogs.com/east4ming/p/17490940.html

相关文章

  • Grafana系列-GaC-1-Grafana即代码的几种实现方式
    系列文章Grafana系列文章Terraform系列文章概述GaC(GrafanaasCode,Grafana即代码)很明显是扩展自IaC(InfrastructureasCode,基础设施即代码)的概念.在Terraform系列-什么是IaC?一文中,我们已经详细地说明了相关的概念,我们可以直接套用在GaC上:Grafana......
  • Terraform学习
    转自:https://blog.csdn.net/u012562943/category_7644872.html ......
  • 搭建promtetheus+grafana性能监控环境
    环境准备CentOSLinuxrelease7.7.1908(Core)prometheus-2.36.2grafana-enterprise-9.0.2-1node_exporter-1.3.1mysqld_exporter-0.14.0备注:软件可以去清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/github-release/prometheus/prometheus/或者:https://download......
  • OpenShift 4.12 grafana的安装
    OpenShift4.11以后在产品中移除了grafana的console,集成到产品的监控界面中去了,这对于我们想要看到原生的以及需要定制的人来说不太方便。本文就在OpenShift4.12的环境中安装和部署一个grafana1.在OperatorHub中安装GrafanaOperator,过程略2.建立Grafanainstance,在yaml......
  • grafana忘记密码
    [root@prod-php-s010www]#sqlite3/var/lib/grafana/grafana.dbsqlite>.tablessqlite>select*fromuser;sqlite>updateusersetpassword='59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a......
  • Terraform 改善基础架构的十个最佳实践
    Terraform是一种非常流行的开源IaC(基础设施即代码)工具,用于定义和提供完整的基础设施。Terraform于2014年推出,其采用率已在全球范围内快速增长,越来越多的开发人员正在学习Terraform并尝试在其组织中部署基础设施。 如果您已经开始使用Terraform,则必须采用最佳实践来更好......
  • Grafana 如何监控容器指标(五)
    Grafana如何监控容器指标(五)1、添加cadvisorCAdvisor是用于收集有关我们容器信息的常用工具。它是普罗米修斯和格拉法纳用来抓取信息和可视化图表、图表、时间序列和其他各种形式的信息的代理人。CAdvisor从我们的容器中收集各种指标,这些信息被普罗米修斯刮擦,然后grafana将数据......
  • Grafana 汉化调试(四)
    Grafana汉化调试(四)Grafana最新的9.5.2版本现在已经支持中文了,不用再安装插件去汉化了1、首先进入用户的个人资料2、把语言类型修改成“中文(简体)”3、保存修改4、这是发现界面已经变成中文了......
  • 注册表WinTrust\Trust Providers\Software Publishing作用是是否要做“检查证书是否
    http://support.obtain.com/knowledgebase/codesign/CRLDisable.html禁用证书吊销列表默认情况下,OBTAIN服务器服务在本地系统帐户下作为Windows服务运行。要禁用本地系统的CRL检查,我们必须使用注册表进行更改。1)在服务器机器上,单击“开始->运行”(可能因您的操作系统而异),在“......
  • docker 部署prometheus和grafana
    prometheus(普罗米修斯):天生为采集存储监控数据而生的时序数据库。prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示。grafana:一个监控仪表系统。grafana的数据来源可以有很多(如:Prometheus、Graphite、OpenTSDB、InfluxDB、MySQL/PostgreSQL、Microsof......