用于 Site24x7 的 Terraform
Terraform 是一种基础架构即代码工具,可帮助轻松高效地创建、编辑和管理云资源。您可以按照一些简单的步骤,使用 Terraform 通过代码管理您的 Site24x7 资源。您可以使用 Terraform 在 Site24x7 中添加、更新或删除您的资源,并处理与管理相关的更新。
目录
使用 Terraform 的好处
- 确保无错误部署
- 处理异构云部署以实现容错
- 协作,获取特定版本,并创建自己的环境
- 轻松生成和删除测试环境
- 提高部署速度
- 安全高效地构建、版本化或更改基础架构
- 跟踪和更正配置级问题
Site24x7 中支持的资源
您可以使用 Terraform 在 Site24x7 中创建、编辑或删除以下资源:
- 网站监控
- rest API 监视器
- SSL/TLS 监视器
- 亚马逊监视器
- 服务器监视器
- 监视器组
- IT自动化
- 阈值配置文件
- 用户组
- 通知配置文件
- 位置配置文件
- 标签
- Opsgenie 集成
- Webhook 集成
- ServiceNow 集成
- PagerDuty 集成
- 服务器代理安装
如何使用 Terraform 添加 Site24x7 资源
Bootstrap Terraform 和 Site24x7 提供程序
将以下内容添加到您的 Terraform 配置文件以引导 Terraform 和 Site24x7 提供程序。
required_version = "~> 0.15.0"
required_providers {
site24x7 = {
source = "site24x7/site24x7"
version = "1.0.10"
}
}
}
在 bash 环境中设置您的 Site24x7 OAuth 凭证
在应用配置之前,您需要导出 Site24x7 OAuth 凭证。为此,请执行以下 shell 命令:
SITE24X7_OAUTH2_CLIENT_ID=""
$ export
SITE24X7_OAUTH2_CLIENT_SECRET=""
$ export
SITE24X7_OAUTH2_REFRESH_TOKEN=""
在 Terraform 中配置 Site24x7 提供程序
您可以使用以下命令将 Site24x7 配置为 Terraform 中的提供程序:
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 将执行以下操作:
+ 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 社区论坛上请求支持您偏好的功能。