菜单
开源

发现.ionos

发现.ionos 允许您从 IONOS Cloud API 获取抓取目标。

使用方法

alloy
discovery.ionos "LABEL" {
    datacenter_id = DATACENTER_ID
}

参数

支持以下参数

名称类型描述默认值必需
datacenter_id字符串数据中心的唯一ID。
刷新间隔持续时间服务器刷新后的时间。60秒
端口整数抓取指标的端口。80
bearer_token_file字符串包含认证令牌的文件。
bearer_token密钥用于认证的令牌。
启用http2布尔值是否支持HTTP2用于请求。
跟随重定向布尔值是否应跟随服务器返回的重定向。
代理_url字符串要通过其发送请求的HTTP代理。
no_proxy字符串逗号分隔的IP地址、CIDR表示法和域名列表,用于排除从代理。
proxy_from_environment布尔值使用环境变量中指示的代理URL。false
proxy_connect_headermap(list(secret))指定在CONNECT请求期间发送到代理的标头。

以下信息中最多提供一个

no_proxy 可以包含IP、CIDR表示法和域名。IP和域名可以包含端口号。proxy_url 必须配置,如果no_proxy配置了的话。

proxy_from_environment 使用环境变量HTTP_PROXY、HTTPS_PROXY和NO_PROXY(或其小写版本)。请求使用匹配其方案的环境变量中的代理,除非被NO_PROXY排除。proxy_urlno_proxy不能配置,如果proxy_from_environment已配置。

proxy_connect_header 只应在配置了proxy_urlproxy_from_environment时配置。

discovery.ionos定义内支持以下块

层次结构描述必需
basic_authbasic_auth配置基本认证到端点。
authorizationauthorization配置端点的通用认证。
oauth2oauth2配置OAuth2到端点的认证。
oauth2 > tls_configtls_config配置连接到端点的TLS设置。
tls_configtls_config配置连接到端点的TLS设置。

符号《》表示更深层次的嵌套。例如,oauth2 《 tls_config 指的是定义在 oauth2 块内部的 tls_config 块。

基本身份验证块

名称类型描述默认值必需
password_file字符串包含基本身份验证密码的文件。
password密钥基本身份验证密码。
username字符串基本身份验证用户名。

passwordpassword_file 是相互排斥的,一个 basic_auth 块内只能提供其中之一。

授权块

名称类型描述默认值必需
credentials_file字符串包含秘密值的文件。
credentials密钥秘密值。
type字符串授权类型,例如,“Bearer”。

credentialcredentials_file 是相互排斥的,一个 authorization 块内只能提供其中之一。

oauth2 块

名称类型描述默认值必需
client_id字符串OAuth2 客户端 ID。
client_secret_file字符串包含 OAuth2 客户端密钥的文件。
client_secret密钥OAuth2 客户端密钥。
endpoint_paramsmap(string)可选参数,用于附加到令牌 URL。
代理_url字符串要通过其发送请求的HTTP代理。
no_proxy字符串逗号分隔的IP地址、CIDR表示法和域名列表,用于排除从代理。
proxy_from_environment布尔值使用环境变量中指示的代理URL。false
proxy_connect_headermap(list(secret))指定在CONNECT请求期间发送到代理的标头。
scopeslist(string)用于身份验证的作用域列表。
token_url字符串获取令牌的 URL。

client_secretclient_secret_file 是相互排斥的,一个 oauth2 块内只能提供其中之一。

oauth2 块也可以包含单独的 tls_config 子块。

no_proxy 可以包含IP、CIDR表示法和域名。IP和域名可以包含端口号。proxy_url 必须配置,如果no_proxy配置了的话。

proxy_from_environment 使用环境变量HTTP_PROXY、HTTPS_PROXY和NO_PROXY(或其小写版本)。请求使用匹配其方案的环境变量中的代理,除非被NO_PROXY排除。proxy_urlno_proxy不能配置,如果proxy_from_environment已配置。

proxy_connect_header 只应在配置了proxy_urlproxy_from_environment时配置。

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))来自 IONOS 云 API 发现的目标集合。

每个目标包含以下标签

  • __meta_ionos_server_availability_zone:服务器所在的可用区。
  • __meta_ionos_server_boot_cdrom_id:服务器启动的 CD-ROM 的 ID。
  • __meta_ionos_server_boot_image_id:服务器启动的引导镜像或快照的 ID。
  • __meta_ionos_server_boot_volume_id:启动卷的 ID。
  • __meta_ionos_server_cpu_family:服务器的 CPU 类型。
  • __meta_ionos_server_id:服务器的 ID。
  • __meta_ionos_server_ip:分配给服务器的所有 IP 的逗号分隔列表。
  • __meta_ionos_server_lifecycle:服务器资源的生命周期状态。
  • __meta_ionos_server_name:服务器的名称。
  • __meta_ionos_server_nic_ip_<nic_name>:按每个连接到服务器的网络接口卡 (NIC) 的名称分组的所有 IP 的逗号分隔列表。
  • __meta_ionos_server_servers_id:服务器所属的服务器 ID。
  • __meta_ionos_server_state:服务器的执行状态。
  • __meta_ionos_server_type:服务器的类型。

组件健康状态

discovery.ionos 仅在提供无效配置时报告为不健康。在这些情况下,导出的字段保留其最后健康的值。

调试信息

discovery.ionos 不暴露任何特定组件的调试信息。

调试指标

discovery.ionos 不暴露任何特定组件的调试指标。

示例

alloy
discovery.ionos "example" {
    datacenter_id = "15f67991-0f51-4efc-a8ad-ef1fb31a480c"
}

prometheus.scrape "demo" {
  targets    = discovery.ionos.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
    }
  }
}

替换以下内容

  • PROMETHEUS_REMOTE_WRITE_URL:将指标发送到的与 Prometheus remote_write 兼容的服务器 URL。
  • USERNAME:用于远程_write API 认证的用户名。
  • PASSWORD:用于远程_write API 认证的密码。

兼容组件

discovery.ionos 直接导出的功能可以被以下组件使用

注意

连接某些组件可能不合理或可能需要进一步的配置来正确连接。有关更多详细信息,请参考链接的文档。