用于 Site24x7 的 Terraform

Terraform 是一种基础架构即代码工具,可帮助轻松高效地创建、编辑和管理云资源。您可以按照一些简单的步骤,使用 Terraform 通过代码管理您的 Site24x7 资源。您可以使用 Terraform 在 Site24x7 中添加、更新或删除您的资源,并处理与管理相关的更新。


目录

使用 Terraform 的好处

  • 确保无错误部署
  • 处理异构云部署以实现容错
  • 协作,获取特定版本,并创建自己的环境
  • 轻松生成和删除测试环境
  • 提高部署速度
  • 安全高效地构建、版本化或更改基础架构
  • 跟踪和更正配置级问题

Site24x7 中支持的资源

您可以使用 Terraform 在 Site24x7 中创建、编辑或删除以下资源:

 

如何使用 Terraform 添加 Site24x7 资源

Bootstrap Terraform 和 Site24x7 提供程序

将以下内容添加到您的 Terraform 配置文件以引导 Terraform 和 Site24x7 提供程序。

terraform {
required_version = "~> 0.15.0"
required_providers {
site24x7 = {
source = "site24x7/site24x7"
version = "1.0.10"
}
}
}

 

在 bash 环境中设置您的 Site24x7 OAuth 凭证

在应用配置之前,您需要导出 Site24x7 OAuth 凭证。为此,请执行以下 shell 命令:

$ export
SITE24X7_OAUTH2_CLIENT_ID=""
$ export
SITE24X7_OAUTH2_CLIENT_SECRET=""
$ export
SITE24X7_OAUTH2_REFRESH_TOKEN=""


在 Terraform 中配置 Site24x7 提供程序

您可以使用以下命令将 Site24x7 配置为 Terraform 中的提供程序:

provider "site24x7" {
data_center = "US"
retry_min_wait = 1
retry_max_wait = 30
max_retries = 4
}

data_center
相应地为您的帐户指定数据中心。例如,如果您的数据中心在美国,那么您的值为 data_center="US"。

地区   数据中心  
美国 (.com) US
欧盟 (.eu)               EU
印度 (.in)                 IN
澳大利亚 (.au)               AU
中国 (.cn)               CN

oauth2_client_id
如果属性为空,将在 SITE24X7_OAUTH2_CLIENT_ID 环境变量中查找客户端 ID。

oauth2_client_secret
如果属性为空,将在 SITE24X7_OAUTH2_CLIENT_SECRET 环境变量中查找客户端密码。

oauth2_refresh_token
如果属性为空,将在 SITE24X7_OAUTH2_REFRESH_TOKEN 环境变量中查找刷新令牌。

retry_min_wait
指定重试失败的 Site24x7 API 请求之前的最短等待时间(以秒为单位)。

retry_max_wait
指定重试失败的 Site24x7 API 请求之前的最大等待时间(以秒为单位)。

max_retries
指定在中止操作之前要执行的 Site24x7 API 请求重试的最大次数。

 

创建网站资源

通过在 Site24x7 中创建监视器,您可以跟踪您的网站、基础设施和网络设备的性能和指标。

例如,要为您的环境创建一个网站监视器,​​您可以将以下配置粘贴到您的 Terraform 文件中:

{

display_name = "Example Monitor"
website = "https://www.example.com"
check_frequency = "1"
location_profile_name = "North America"

}
  • 显示名称是您必须为您的网站监视器提供的名称。
  • 网站是需要监控的 URL 
  • 轮询频率代表应该进行轮询的频率。
  • 位置配置文件是您希望监控资源的位置。您可以指定 location_profile_id 或 location_profile_name。如果两者均未指定,则将使用 /api/location_profiles 端点 (https://www.site24x7.com/help/api/#list-of-all-location-profiles) 返回的第一个配置文件。

在 Terraform 中应用配置

您可以执行命令terraform init来初始化提供程序,然后执行terraform apply以应用您 Terraform 文件中定义的配置。Terraform 将执行以下操作:

# site24x7_website_monitor.website_monitor_example 将被创建
+ resource "site24x7_website_monitor"
"website_monitor_example" {
+ check_frequency = "1"
+ display_name = "Example Monitor"
+ http_method = "G"
+ id = (will be known after applying)
+ location_profile_id = (will be known after applying)
+ location_profile_name = "North America"
+ match_regex_severity = 2
+ matching_keyword_severity = 2
+ notification_profile_id = (will be known after applying)
+ response_headers_severity = 2
+ tag_ids = (will be known after applying)
+ threshold_profile_id = (will be known after applying)
+ timeout = 10
+ unmatching_keyword_severity = 2
+ use_name_server = true
+ user_group_ids = (will be known after applying)
+ website = "https://www.example.com"
}
Plan: 1 to add, 0 to change, 0 to destroy.

您要执行这些操作吗?
Terraform 将执行上述操作。
只有“是”才会被接受批准。

输入值:是
site24x7_website_monitor.website_monitor_example: Creating...
site24x7_website_monitor.website_monitor_example: Creation complete after 4s [id=306947000028195005]

应用完成!资源:添加 1 个,更改 0 个,销毁 0 个。

Terraform 将创建网站监视器,​​但不会更改任何其他内容。每个 Terraform 应用配置都会将您的模板与 Terraform 之前处理的资源状态进行比较。如果这是您应用的第一个 Terraform 配置,它不会对现有配置进行任何更改。

通过登录到Site24x7并导航到主页 > 监视器来查看 Site24x7 中新创建的监视器。然后,选择您喜欢的监视器。

网站监控

要导入监视器并生成配置,请导航到Github

请随时在Github或 Site24x7 社区论坛上请求支持您偏好的功能。