菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow discoverybreadcrumb arrow discovery.digitalocean
全面可用 (GA) 开源

discovery.digitalocean

discovery.digitalocean 用于发现 DigitalOcean Droplets 并将其公开为目标。

用法

alloy
discovery.digitalocean "<LABEL>" {
    // Use one of:
    // bearer_token      = "<BEARER_TOKEN>"
    // bearer_token_file = "<PATH_TO_BEARER_TOKEN_FILE>"
}

参数

您可以在 discovery.digitalocean 中使用以下参数

名称类型描述默认值必需
bearer_token_filestring包含用于身份验证的 bearer token 的文件。
bearer_tokensecret用于身份验证的 Bearer token。
enable_http2bool请求是否支持 HTTP2。true
follow_redirectsbool是否应遵循服务器返回的重定向。true
http_headersmap(list(secret))随每个请求发送的自定义 HTTP 头。map 的键是头名称。
no_proxystring逗号分隔的 IP 地址、CIDR 表示法和域名列表,用于排除代理。
portnumber要附加到每个 Droplet 的 __address__ 标签的端口。80
proxy_connect_headermap(list(secret))指定在 CONNECT 请求期间发送给代理的头。
proxy_from_environmentbool使用环境变量指示的代理 URL。false
proxy_urlstring用于发送请求的 HTTP 代理。
refresh_intervalduration刷新 Droplets 列表的频率。"1m"

DigitalOcean API 使用 bearer tokens 进行身份验证,更多信息请参阅 DigitalOcean API 文档

必须指定 bearer_tokenbearer_token_file 参数中的一个,才能对 DigitalOcean 进行身份验证。

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

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

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

discovery.digitalocean 组件不支持任何块。您可以使用参数配置此组件。

导出字段

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

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

每个目标包含以下标签

  • __meta_digitalocean_droplet_id:Droplet 的 ID。
  • __meta_digitalocean_droplet_name:Droplet 的名称。
  • __meta_digitalocean_features:为 Droplet 配置的可选属性,例如 IPV6 网络、私有网络或备份。
  • __meta_digitalocean_image_name:用于创建 Droplet 的镜像名称。
  • __meta_digitalocean_image:用于创建 Droplet 的镜像 slug(镜像的唯一文本标识符)。
  • __meta_digitalocean_private_ipv4:Droplet 的私有 IPv4 地址。
  • __meta_digitalocean_public_ipv4:Droplet 的公共 IPv4 地址。
  • __meta_digitalocean_public_ipv6:Droplet 的公共 IPv6 地址。
  • __meta_digitalocean_region:Droplet 运行所在的区域。
  • __meta_digitalocean_size:Droplet 的大小。
  • __meta_digitalocean_status:Droplet 的当前状态。
  • __meta_digitalocean_tags:分配给 Droplet 的标签。
  • __meta_digitalocean_vpc:Droplet 所在的 VPC 的 ID。

每个发现的 Droplet 对应一个目标。

组件健康状态

只有在配置无效时,discovery.digitalocean 才会被报告为不健康。在这种情况下,导出字段会保留其上次健康的数值。

调试信息

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

调试指标

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

示例

这将生成具有 __address__ 标签的目标,例如:192.0.2.1:8080

alloy
discovery.digitalocean "example" {
  port             = 8080
  refresh_interval = "5m"
  bearer_token     = "my-secret-bearer-token"
}

prometheus.scrape "demo" {
  targets    = discovery.digitalocean.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>:用于对 remote_write API 进行身份验证的用户名。
  • <PASSWORD>:用于对 remote_write API 进行身份验证的密码。

兼容组件

discovery.digitalocean 具有可被以下组件使用的导出项

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。