帮助手册

Terraform for Site24x7

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

使用 Terraform 的优势

  • 确保零错误部署
  • 处理异构云部署以实现容错
  • 协作、获取特定版本并创建自定义环境
  • 轻松创建和销毁测试环境
  • 提升部署速度
  • 安全高效地构建、版本化或变更基础设施
  • 追踪并修复配置层面的问题

Site24x7 支持的资源

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

集成

数据源

生成 Site24x7 OAuth 凭证的步骤 

Site24x7 REST API 使用 OAuth 2.0 协议对调用进行授权和认证。要生成 Site24x7 OAuth 凭证(SITE24X7_OAUTH2_CLIENT_ID、SITE24X7_OAUTH2_CLIENT_SECRET 和 SITE24X7_OAUTH2_REFRESH_TOKEN),请按照以下步骤操作:

  1. 访问 https://api-console.zoho.com/
  2. 选择自客户端选项。
  3. 复制 Client ID 和 Client Secret,并将其粘贴到下方的 curl 命令中。
  4. 复制以下内容并粘贴到 scope 字段中,然后点击创建
    Site24x7.account.All,Site24x7.admin.All,Site24x7.reports.All,Site24x7.operations.All,Site24x7.msp.All,Site24x7.bu.All .
  5. 复制生成的代码,将其粘贴到下方命令中并执行。
    curl
    https://accounts.zoho.com/oauth/v2/token
    -X POST
    -d "client_id="
    -d "client_secret="
    -d "code="
    -d "grant_type=authorization_code" --insecure
  6. 上述命令的响应结果类似于以下内容。
    {"access_token":"1000.dfsewerwe33.rterert23","refresh_token":"1000.abdfdf.32dsfsdf","token_type":"Bearer","expires_in":3600}
  7. 复制 CLIENT_ID、CLIENT_SECRET 和 refresh_token,并分别在 Terraform 配置文件中将其配置为 oauth2_client_id、oauth2_client_secret 和 oauth2_refresh_token 属性的值。
注意

注意:OAuth 凭证生成步骤中的域名因您的数据中心而异。

  • 美国(US)- https://accounts.zoho.com 和 https://api-console.zoho.com
  • 欧洲(EU)- https://accounts.zoho.eu 和 https://api-console.zoho.eu
  • 中国(CN)- https://accounts.zoho.com.cn 和 https://api-console.zoho.com.cn
  • 印度(IN)- https://accounts.zoho.in 和 https://api-console.zoho.in
  • 澳大利亚(AU)- https://accounts.zoho.com.au 和 https://api-console.zoho.com.au

如何使用 Terraform 添加 Site24x7 资源

初始化 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 提供程序

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

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"

}
  • display name 是您为网站监视器提供的名称。
  • website 是需要监控的 URL。
  • Check frequency 表示执行轮询的频率。
  • location profile 是您希望从哪个位置监控资源的位置配置文件。您可以指定 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 will be created
+ 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.

Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.

Enter a value: yes
site24x7_website_monitor.website_monitor_example: Creating...
site24x7_website_monitor.website_monitor_example: Creation complete after 4s [id=306947000028195005]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

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

登录 Site24x7,导航到首页 > 监视器,即可查看新创建的监视器。然后选择您需要的监视器。

 

 

要导入监视器并生成配置,请访问 Github

如需请求支持您偏好的功能,欢迎在 Github 或 Site24x7 社区论坛上提交。

注意

 

  • 您可以参考 Github 页面获取我们支持的完整资源列表。
  • 有关提供程序文档,请参阅 Terraform Registry

 

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!