C
配置Terraform
配置Qt Insight私有云
Qt Insight安装使用Terraform在AWS部署资源。安装通过命令行完成。
- 要配置Qt Insight私有云,创建一个Terraform配置文件,通过复制提取的安装包中
infra/env
目录下的sample.tvfars
文件。示例变量文件列出可用的配置选项和部署描述。
- 将标记为<占位符>的值替换为自己的。有关每个可选项的描述,请参考配置选项。
配置选项
以下配置选项可用于Qt私有云Terraform部署。安装包包含一个sample.tfvars
文件,可以作为配置的起点。
名称 | 描述 | 类型 | 默认值 | 必需 |
---|---|---|---|---|
admin_accounts | Qt Insight的管理账户。指向OAuth服务器中的账户。 | 列表(字符串) | 无 | 是 |
amazon_linux_2_ami_id | 用于EC2实例的AWS AMI ID。用于Snowplow模块。AMI ID必须基于Amazon Linux 2(默认使用最新社区版本)。 | 字符串 | "" | 不是 |
app_dns_name | Qt Insight仪表盘应用程序使用的域名。 示例 app_dns_name = "app.insight.example.com" | 字符串 | 无 | 是 |
backup_region | 用于跨区域数据备份的AWS区域。如果enable_cross_region_backup 为true,则必须提供。更多信息请参阅AWS文档 - 区域和可用区。 | 字符串 | "" | 不是 |
certificate_arn | 用于Qt Insight仪表盘传输层安全(TLS)端点的ACM证书。证书必须具有与<app_dns_name> 变量相同的普通名称(CN)或主题备用名称(SAN)。证书可以从外部证书授权机构导入到ACM,或者可以直接从ACM请求。注意:一个证书可以用于收集器和应用程序。在这种情况下,两个子域名都必须在证书的CN或SAN字段中。 | 字符串 | 无 | 是 |
collect_certificate_arn | 用于收集器TLS端点的ACM证书。证书必须具有与<collect_dns_name> 变量相同的CN或SAN。证书可以从外部证书授权机构导入到ACM,或者可以直接从ACM请求。注意:一个证书可以用于收集器和应用程序。在这种情况下,两个子域名都必须在证书的CN或SAN字段中。 | 字符串 | 无 | 是 |
collect_dns_name | Qt Insight事件收集端点使用的域名。 示例 collect_dns_name = "collect.insight.example.com" | 字符串 | 无 | 是 |
collector_instance_type | 收集器实例的EC2实例类型。 | 字符串 | t3.medium | 不是 |
config_cache_ttl | 时间间隔 - 以秒(s)、分钟(m)或小时(h)为单位 - 缓存应用程序的远程配置。 远程配置存储在内存缓存中,以减少对数据库的压力。 | 字符串 | 5分钟 | 不是 |
dashboard_rds_snapshot_id | 用于恢复 Qt Insight 数据库的相对数据库服务 (RDS) 快照 ID。如果更改了 ID,RDS 将从快照创建新的数据库。 注意: 只有在有意从快照恢复数据库时才更改此值。 | 字符串 | "" | 不是 |
data_bucket_name | 存储分析数据的目标 S3 存储桶的名称。此数据存储桶在安装阶段创建。 注意: 存储桶名称必须在整个 AWS 中唯一。 | 字符串 | 无 | 是 |
enable_cross_region_backup | 启用备份副本到 backup_region 。支持 Qt Insight 使用的 Redshift 和 RDS 数据库。注意: 这会使得 Terraform 运行速度慢 10-15 分钟,因此在测试时您可能希望将其设置为 false。 | bool | false | 不是 |
enrich_instance_type | 丰富实例所使用的 EC2 实例类型。 | 字符串 | t3.medium | 不是 |
export_bucket_name | 导出 S3 存储桶的名称。 注意: 存储桶名称必须在整个 AWS 中唯一。 | 字符串 | 无 | 是 |
iglu_instance_type | Iglu 实例的 EC2 实例类型。 | 字符串 | t3.medium | 不是 |
iglu_rds_snapshot_id | 用于恢复 Iglu 数据库的 RDS 快照 ID。如果更改了 ID,RDS 将从快照创建新的数据库。 注意: 只有在有意从快照恢复数据库时才更改此值。 | 字符串 | "" | 不是 |
is_user_pseudonymized | 切换 enrich 管道中 domain_user 字段是否被匿名化。 | bool | true | 不是 |
lb_access_logs_enabled | 确定是否存储负载均衡器的访问日志。 注意: 如果启用此选项,则必须设置 | bool | false | 不是 |
loader_instance_type | 加载实例所使用的 EC2 实例类型。 | 字符串 | t3.medium | 不是 |
log_retention_days | 定义保留日志的天数。 | number | 30 | 是 |
logs_bucket_id | 访问存储桶日志所使用的 S3 存储桶 ID。如果 lb_access_logs_enabled 为 true,还用于存储负载均衡器的日志。注意: 如果 | 字符串 | "" | 不是 |
monitoring_enabled | 启用安装云监控仪表板以监控 Qt Insight。 | bool | true | 不是 |
oauth_client_config | 用于 OAuth 应用程序的客户端配置。必需字段(从您的身份提供者获取值)
示例 oauth_client_config = { client_id = "<client id>" client_secret = "<client secret>" issuer = "<issuer url>" } | map(string) | 无 | 是 |
profile | 用于 Terraform 的 AWS 配置文件。这必须与本地配置的配置文件匹配。有关详细信息,请参阅 aws configure --profile 。示例(AWS) aws configure --profile insight-deploy-user 示例(Qt Insight 配置) profile = "insight-deploy-user" | 字符串 | 无 | 是 |
redshift_cluster_size | 定义要创建在 Redshift 集群中的节点数。 | number | 1 | 是 |
redshift_cluster_snapshot_id | 用于恢复数据库的 Redshift 快照 ID。如果更改了 ID,Redshift 将从快照创建新的数据库。 注意: 只有在有意从快照恢复数据库时才更改此值。 | 字符串 | 无 | 是 |
redshift_node_type | 定义要在 Redshift 集群中创建的节点类型。有关不同节点类型的详细信息,请参阅 AWS 文档 - Redshift。 示例 redshift_node_type = "ra3.xlplus" | 字符串 | 无 | 是 |
redshift_snapshot_retention_days | 定义保留 Redshift 集群自动快照的天数。 | number | 5 | 不是 |
region | 定义服务部署的 AWS 区域。有关更多信息,请参阅 AWS 文档 - 区域和可用性区域 | 字符串 | 无 | 是 |
root_dns_name | Qt Insight 的根域名。仪表板应用程序和收集端点是根的子域名。通常,这将是来自外部 DNS 提供商委派的子域名。 示例 root_dns_name = "insight.example.com" | 字符串 | 无 | 是 |
root_route53_delegation_set_id | Qt Insight 根子域的 Route 53 委派集 ID。您可以使用 AWS 命令行界面命令 aws route53 create-reusable-delegation-set --caller-reference 创建 ID,其中 caller-reference 可以是任何唯一的字符串(例如,日期/时间戳)。注意事项:复制名称服务器的DNS委派值。 示例 root_route53_delegation_set_id = "N06238763TERTV123456" | 字符串 | 无 | 是 |
enable_application_telemetry | 可选配置,用于在Qt Insight UI中启用Sentry。如果启用,Sentry将在Qt Insight应用程序中用于发送反馈和崩溃报告到Sentry.io。 有关更多信息,请参阅 | bool | false | 不是 |
telemetry_dsn | Sentry.io数据源名称。用于将Sentry事件关联到正确的组织。 注意事项:此选项仅在 如果 | 字符串 | "" | 不是 |
shredder_instance_type | 碎纸机实例的EC2实例类型。 | 字符串 | t3.medium | 不是 |
stream_retention_period | kinesis流应保留数据的小时数。 | number | 48 | 是 |
subnets | 每个可用区中每个子网使用的IPv4无类域间路由(CIDR)范围列表。 注意事项: 示例 subnets = [ { az = "a" isolated_cidr = "10.150.1.0/24" public_cidr = "10.150.3.0/24" private_cidr = "10.150.5.0/24" }, { az = "b" isolated_cidr = "10.150.2.0/24" public_cidr = "10.150.4.0/24" private_cidr = "10.150.6.0/24" } ] | list(object) | 无 | 是 |
terraform_backend_bucket_name | 用于存储私有云部署的Terraform状态的S3存储桶名称。 | 字符串 | 无 | 是 |
token_cache_ttl | 缓存传入事件令牌的时间间隔 - 以秒(s)、分钟(m)或小时(h)为单位。数据管道在每次摄取的事件中验证令牌。 此令牌状态存储在内存缓存中,以减少数据库负载。 | 字符串 | 1m | 不是 |
vpc_cidr | VPC的IPv4 CIDR范围。 示例 vpc_cidr = "10.150.0.0/16" | 字符串 | 无 | 是 |
在某些Qt许可证下可用。
了解更多。