发现:Scaleway
discovery.scaleway
从 Scaleway 实例 和 裸金属服务 发现目标。
用法
discovery.scaleway "LABEL" {
project_id = "SCALEWAY_PROJECT_ID"
role = "SCALEWAY_PROJECT_ROLE"
access_key = "SCALEWAY_ACCESS_KEY"
secret_key = "SCALEWAY_SECRET_KEY"
}
参数
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
project_id | 字符串 | 目标使用 Scaleway 项目 ID。 | 是 | |
role | 字符串 | 所要检索的目标角色。 | 是 | |
api_url | 字符串 | Scaleway API URL。 | "https://api.scaleway.com" | 否 |
zone | 字符串 | 目标可用区。 | "fr-par-1" | 否 |
access_key | 字符串 | Scaleway API 的访问密钥。 | 是 | |
secret_key | 秘钥 | Scaleway API 的秘钥。 | conditional | |
secret_key_file | 字符串 | 包含 Scaleway API 秘钥的文件路径。 | conditional | |
name_filter | 字符串 | 应用于列表请求的名称过滤器。 | 否 | |
tags_filter | 列表(字符串) | 要搜索的标签列表。 | 否 | |
refresh_interval | 持续时间 | 重新发现目标的频率。 | "60s" | 否 |
port | 数字 | 与生成的目标关联的服务器默认端口。 | 80 | 否 |
proxy_url | 字符串 | 请求通过 HTTP 代理发送。 | 否 | |
no_proxy | 字符串 | 逗号分隔的 IP 地址、CIDR 表示法和域名列表,排除代理。 | 否 | |
proxy_from_environment | 布尔型 | 使用环境变量指示的代理 URL。 | false | 否 |
proxy_connect_header | 映射列表(秘密) | 指定在连接请求中发送到代理的标头。 | 否 | |
follow_redirects | 布尔型 | 是否应遵循服务器返回的重定向。 | true | 否 |
enable_http2 | 布尔型 | 是否支持请求的 HTTP2。 | true | 否 |
role
参数决定要发现何种类型的 Scaleway 机器。必须设置为以下之一
name_filter
和 tags_filter
参数可以用于过滤所发现的服务器集合。name_filter
返回与特定名称匹配的机器,而 tags_filter
返回包含 全部 列入 tags_filter
参数中的标签的机器。
no_proxy
可以包含 IP、CIDR 表示法和域名。IP 和域名可以包含端口号。如果配置了 no_proxy
,则必须配置 proxy_url
。
proxy_from_environment
使用环境变量HTTP_PROXY、HTTPS_PROXY和NO_PROXY(或它们的 lowercase版本)。除非由NO_PROXY排除,否则请求将使用与它们方案匹配的环境变量中的代理。
只有在配置了proxy_url
或proxy_from_environment
时,才应配置proxy_connect_header
。
块
以下块在discovery.scaleway
的定义内部受支持
层次结构 | 块 | 描述 | 必需 |
---|---|---|---|
tls_config | tls_config | 配置连接到端点的TLS设置。 | 否 |
>
符号表示嵌套级别更深。例如,oauth2 > tls_config
指向一个定义在oauth2
块内的tls_config
块。
tls_config块
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
ca_pem | 字符串 | 用于验证服务器时的CA PEM编码文本。 | 否 | |
ca_file | 字符串 | 用于验证服务器时的CA证书。 | 否 | |
cert_pem | 字符串 | 客户端身份验证的证书PEM编码文本。 | 否 | |
cert_file | 字符串 | 用于客户端身份验证的证书文件。 | 否 | |
insecure_skip_verify | 布尔型 | 禁用对服务器证书的验证。 | 否 | |
key_file | 字符串 | 用于客户端身份验证的密钥文件。 | 否 | |
key_pem | 秘钥 | 用于客户端身份验证的密钥PEM编码文本。 | 否 | |
min_version | 字符串 | 可接受的最小TLS版本。 | 否 | |
server_name | 字符串 | 用于指示服务器名称的ServerName扩展。 | 否 |
以下配对参数相互排斥,不能同时设置
ca_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
配置客户端身份验证时,必须提供客户端证书(使用cert_pem
或cert_file
)和客户端密钥(使用key_pem
或key_file
)。
当未提供min_version
时,可接受的最小TLS版本继承自Go的默认最小版本,即TLS 1.2。如果提供min_version
,它必须设置为以下字符串之一
"TLS10"
(TLS 1.0)"TLS11"
(TLS 1.1)"TLS12"
(TLS 1.2)"TLS13"
(TLS 1.3)
导出字段
以下字段被导出,可以由其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 从Consul目录API发现的目标集合。 |
当role
是baremetal
时,发现的目标包括以下标签
__meta_scaleway_baremetal_id
:服务器的ID。__meta_scaleway_baremetal_public_ipv4
:服务器的公共IPv4地址。__meta_scaleway_baremetal_public_ipv6
:服务器的公共IPv6地址。__meta_scaleway_baremetal_name
:服务器的名称。__meta_scaleway_baremetal_os_name
:服务器的操作系统名称。__meta_scaleway_baremetal_os_version
:服务器的操作系统版本。__meta_scaleway_baremetal_project_id
:服务器所属的项目ID。__meta_scaleway_baremetal_status
:服务器的当前状态。__meta_scaleway_baremetal_tags
:与服务器关联的标签列表,用逗号连接。__meta_scaleway_baremetal_type
:服务器的商业类型。__meta_scaleway_baremetal_zone
:服务器的可用区。
当role
是instance
时,发现的目标包括以下标签
__meta_scaleway_instance_boot_type
:服务器的引导类型。__meta_scaleway_instance_hostname
:服务器的主机名。__meta_scaleway_instance_id
:服务器的ID。__meta_scaleway_instance_image_arch
:服务器正在运行的镜像的架构。__meta_scaleway_instance_image_id
:服务器正在运行的镜像的ID。__meta_scaleway_instance_image_name
:服务器正在运行的镜像的名称。__meta_scaleway_instance_location_cluster_id
:服务器位置所属的集群ID。__meta_scaleway_instance_location_hypervisor_id
:服务器位置的超导体ID。__meta_scaleway_instance_location_node_id
:服务器的位置节点标识。__meta_scaleway_instance_name
:服务器名称。__meta_scaleway_instance_organization_id
:服务器所属的组织标识。__meta_scaleway_instance_private_ipv4
:服务器的私有IPv4地址。__meta_scaleway_instance_project_id
:服务器所属的项目标识。__meta_scaleway_instance_public_ipv4
:服务器的公网IPv4地址。__meta_scaleway_instance_public_ipv6
:服务器的公网IPv6地址。__meta_scaleway_instance_region
:服务器所在区域。__meta_scaleway_instance_security_group_id
:服务器分配到的安全组ID。__meta_scaleway_instance_security_group_name
:服务器分配到的安全组名称。__meta_scaleway_instance_status
:服务器当前状态。__meta_scaleway_instance_tags
:与服务器关联的标签列表,使用逗号连接。__meta_scaleway_instance_type
:服务器的商用类型。__meta_scaleway_instance_zone
:服务器所在可用区。
组件健康状态
discovery.scaleway
仅在配置无效时报告为不健康。在这些情况下,导出的字段保留其最后的健康值。
调试信息
discovery.scaleway
不公开任何特定组件的调试信息。
调试指标
discovery.scaleway
不公开任何特定组件的调试指标。
示例
discovery.scaleway "example" {
project_id = "SCALEWAY_PROJECT_ID"
role = "SCALEWAY_PROJECT_ROLE"
access_key = "SCALEWAY_ACCESS_KEY"
secret_key = "SCALEWAY_SECRET_KEY"
}
prometheus.scrape "demo" {
targets = discovery.scaleway.example.targets
forward_to = [prometheus.remote_write.demo.receiver]
}
prometheus.remote_write "demo" {
endpoint {
url = PROMETHEUS_REMOTE_WRITE_URL
basic_auth {
username = USERNAME
password = PASSWORD
}
}
}
替换以下内容
SCALEWAY_PROJECT_ID
:您Scaleway机器的项目标识。SCALEWAY_PROJECT_ROLE
:设置为baremetal
以发现裸金属服务器或设置为instance
以发现虚拟实例。SCALEWAY_ACCESS_KEY
:您的Scaleway API访问密钥。SCALEWAY_SECRET_KEY
:您的Scaleway API密钥。PROMETHEUS_REMOTE_WRITE_URL
:发送指标的服务端IPv4地址。USERNAME
:用于远程_write API的认证用户名。PASSWORD
:用于远程_write API的认证密码。
兼容组件
discovery.scaleway
导出可以被以下组件使用
- 消费目标的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接的文档以了解更多详细信息。