Terraform集成示例

Terraform是一种开源工具,用于安全高效地预配和管理云基础结构。您可以使用Terraform管理云监控资源。本文为您演示如何通过Terraform创建一个云监控的报警联系人。

支持资源列表

以下是支持Terraform编排和使用云监控的部分资源和数据源清单,请参见云监控Terraform资源和数据源。如果您还不了解Terraform,请参见什么是Terraform

资源类型

资源链接

说明

Resources

alicloud_cloud_monitor_service_basic_public

开启基础云监控服务

alicloud_cloud_monitor_service_enterprise_public

开启企业云监控服务

alicloud_cloud_monitor_service_group_monitoring_agent_process

创建组进程监控

alicloud_cloud_monitor_service_monitoring_agent_process

创建进程监控

alicloud_cms_alarm

报警规则

alicloud_cms_alarm_contact

创建报警联系人

alicloud_cms_alarm_contact_group

创建报警联系人组

alicloud_cms_dynamic_tag_group

云产品自动创建应用分组

alicloud_cms_event_rule

创建或者修改事件的报警规则

alicloud_cms_group_metric_rule

创建应用分组报警规则

alicloud_cms_hybrid_monitor_fc_task

创建阿里云产品的数据接入任务监控项

alicloud_cms_hybrid_monitor_sls_task

创建SLS日志的监控项

alicloud_cms_metric_rule_black_list

创建报警黑名单

alicloud_cms_metric_rule_template

创建报警模板

alicloud_cms_monitor_group

创建一个应用分组

alicloud_cms_monitor_group_instances

添加资源到应用分组

alicloud_cms_namespace

创建指标仓库

alicloud_cms_site_monitor

创建站点监控的监控任务

alicloud_cms_sls_group

为SLS日志的监控项创建Logstore组

Data Sources

alicloud_cms_alarm_contact_groups

查询报警联系人组基本信息

alicloud_cms_alarm_contacts

查询报警联系人基础信息

alicloud_cms_dynamic_tag_groups

查询动态标签组信息

alicloud_cms_event_rules

查询事件的报警规则

alicloud_cms_group_metric_rules

查询应用分组报警规则

alicloud_cms_hybrid_monitor_datas

查询监控数据

alicloud_cms_hybrid_monitor_fc_tasks

查询阿里云产品的数据接入任务监控项信息

alicloud_cms_hybrid_monitor_sls_tasks

查询SLS日志的监控项信息

alicloud_cms_metric_rule_black_lists

查看报警黑名单

alicloud_cms_metric_rule_templates

查看报警模板

alicloud_cms_monitor_group_instances

查看应用分组内资源

alicloud_cms_monitor_groups

查询应用分组

alicloud_cms_namespaces

查询Namespace的基本信息

alicloud_cms_sls_groups

查询SLS日志监控项的Logstore组

操作步骤

配置权限

执行Terraform模板需要RAM用户权限,我们需要创建一个RAM用户,并获取AccessKey,添加权限策略。该AccessKey会配置为Terraform工具的环境变量。您需要为RAM用户添加以下权限:

  • AliyunCloudMonitorFullAccess:管理云监控资源的权限。

阿里云账号拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。请根据业务的实际情况按需分配权限后进行接口调用。RAM用户需具备操作云监控资源的权限。具体操作,请参见为RAM用户授权

安装Terraform

  • 在本地安装和配置Terraform,请参见在本地安装和配置Terraform

    安装完成后,您可以打开命令行终端,在其中输入terraform version,若返回版本信息表示已成功安装。

  • 如果您不想安装Terraform,可以使用阿里云提供的在线服务Cloud Shell,其中内置了Terraform的运行环境。

编写模板

创建一个名为main.tf文件,填入以下内容,用于创建一个报警联系人。

resource "alicloud_cms_alarm_contact" "example" {
  alarm_contact_name = "tf-example"
  describe           = "For example"
  channels_mail      = "terraform@test.com"
  lifecycle {
    ignore_changes = [channels_mail]
  }
}

更多关于alicloud_cms_alarm_contact资源类型的配置信息,请参见云监控Terraform资源和数据源

运行模板

该示例以Windows操作系统为例,在其他操作系统中,运行命令的具体方式可能会有所不同。

  1. 初始化加载模块,包括Provider等模板。

    terraform init

    image

  2. 验证模板语法是否正确。

    terraform validate

    image

  3. 创建执行计划。

    terraform plan

    image

  4. 部署模板。

    terraform apply

    本案例部署时的部分返回日志。

    image

    执行命令后输入yes即可真正变更资源。您可以通过terraform destroy释放当前模板创建的资源。

  5. 您可以通过OpenAPI、SDK或者云监控控制台等方式,检查操作是否正确完成。

    image