discovery.digitalocean
discovery.digitalocean
发现 DigitalOcean Droplet,并将它们公开为目标。
用法
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_token | secret | 用于身份验证的 Bearer 令牌。 | 否 | |
enable_http2 | bool | 是否为请求支持 HTTP2。 | true | 否 |
follow_redirects | bool | 是否应遵循服务器返回的重定向。 | true | 否 |
no_proxy | 字符串 | 以逗号分隔的 IP 地址、CIDR 表示法和域名列表,以排除代理。 | 否 | |
port | number | 要附加到每个 Droplet 的 __address__ 标签的端口。 | 80 | 否 |
proxy_connect_header | map(list(secret)) | 指定在 CONNECT 请求期间发送到代理的标头。 | 否 | |
proxy_from_environment | bool | 使用环境变量指示的代理 URL。 | false | 否 |
proxy_url | 字符串 | 用于发送请求的 HTTP 代理。 | 否 | |
refresh_interval | duration | 刷新 Droplet 列表的频率。 | "1m" | 否 |
DigitalOcean API 使用 Bearer 令牌进行身份验证,有关详细信息,请参阅 DigitalOcean API 文档。
必须指定 bearer_token
和 bearer_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_url
和 no_proxy
。
仅当配置了 proxy_url
或 proxy_from_environment
时,才应配置 proxy_connect_header
。
区块
discovery.digitalocean
组件不支持任何区块。您可以使用参数配置此组件。
导出的字段
以下字段已导出,可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | list(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
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
具有可以被以下组件使用的导出
- 使用 Targets 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。