Terraform for Site24x7
Terraform 是一款基础设施即代码工具,可帮助您轻松高效地创建、编辑和管理云资源。您只需按照几个简单步骤,即可通过代码管理您的 Site24x7 资源。您可以使用 Terraform 在 Site24x7 中添加、更新或删除资源,并处理与管理相关的更新操作。
使用 Terraform 的优势
- 确保零错误部署
- 处理异构云部署以实现容错
- 协作、获取特定版本并创建自定义环境
- 轻松创建和销毁测试环境
- 提升部署速度
- 安全高效地构建、版本化或变更基础设施
- 追踪并修复配置层面的问题
Site24x7 支持的资源
您可以使用 Terraform 在 Site24x7 中创建、编辑或删除以下资源:
- 网站监视器
- Web Transaction(浏览器)监视器
- DNS 服务器监视器
- 端口(自定义协议)监视器
- Ping 监视器
- 网页速度(浏览器)监视器
- FTP 传输监视器
- ISP 监视器
- SSL 证书到期监视器
- 域名到期监视器
- REST API 监视器
- 服务器监视器
- 心跳监视器
- URL IT 自动化
- 监视器组
- 阈值配置文件
- 位置配置文件
- 通知配置文件
- 用户组
- 用户
- 标签
- 计划维护
集成
数据源
生成 Site24x7 OAuth 凭证的步骤
Site24x7 REST API 使用 OAuth 2.0 协议对调用进行授权和认证。要生成 Site24x7 OAuth 凭证(SITE24X7_OAUTH2_CLIENT_ID、SITE24X7_OAUTH2_CLIENT_SECRET 和 SITE24X7_OAUTH2_REFRESH_TOKEN),请按照以下步骤操作:
- 访问 https://api-console.zoho.com/
- 选择自客户端选项。
- 复制 Client ID 和 Client Secret,并将其粘贴到下方的 curl 命令中。
- 复制以下内容并粘贴到 scope 字段中,然后点击创建。
Site24x7.account.All,Site24x7.admin.All,Site24x7.reports.All,Site24x7.operations.All,Site24x7.msp.All,Site24x7.bu.All .
- 复制生成的代码,将其粘贴到下方命令中并执行。
curl
https://accounts.zoho.com/oauth/v2/token-X POST
-d "client_id=" -d "client_secret=" -d "code=" -d "grant_type=authorization_code" --insecure - 上述命令的响应结果类似于以下内容。
{"access_token":"1000.dfsewerwe33.rterert23","refresh_token":"1000.abdfdf.32dsfsdf","token_type":"Bearer","expires_in":3600} - 复制 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 社区论坛上提交。
