菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow discoverybreadcrumb arrow discovery.digitalocean
通用可用性 (GA)

discovery.digitalocean

discovery.digitalocean 发现 DigitalOcean Droplet,并将它们公开为目标。

用法

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

参数

您可以使用以下参数配置 discovery.digitalocean

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

DigitalOcean API 使用 Bearer 令牌进行身份验证,有关详细信息,请参阅 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_urlproxy_from_environment 时,才应配置 proxy_connect_header

区块

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

注意

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