菜单
开源

发现:Scaleway

discovery.scalewayScaleway 实例裸金属服务 发现目标。

用法

alloy
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 机器。必须设置为以下之一

  • "baremetal":发现 裸金属 Scaleway 机器。
  • "instance":发现虚拟 Scaleway 实例

name_filtertags_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_urlproxy_from_environment时,才应配置proxy_connect_header

以下块在discovery.scaleway的定义内部受支持

层次结构描述必需
tls_configtls_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_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

配置客户端身份验证时,必须提供客户端证书(使用cert_pemcert_file)和客户端密钥(使用key_pemkey_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)

导出字段

以下字段被导出,可以由其他组件引用

名称类型描述
targetslist(map(string))从Consul目录API发现的目标集合。

rolebaremetal时,发现的目标包括以下标签

  • __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:服务器的可用区。

roleinstance时,发现的目标包括以下标签

  • __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不公开任何特定组件的调试指标。

示例

alloy
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导出可以被以下组件使用

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接的文档以了解更多详细信息。