discovery.serverset
discovery.serverset 用于发现存储在 Zookeeper 中的 Serversets 并将其暴露为目标。Serversets 通常被 Finagle 和 Aurora 使用。
用法
discovery.serverset "<LABEL>" {
servers = "<SERVERS_LIST>"
paths = "<ZOOKEEPER_PATHS_LIST>"
}存储在 Zookeeper 中的 Serverset 数据必须是 JSON 格式。不支持 Thrift 格式。
参数
您可以使用以下参数配置 discovery.serverset
| 名称 | 类型 | 描述 | 默认值 | 是否必需 |
|---|---|---|---|---|
paths | list(string) | 用于发现 Serversets 的 Zookeeper 路径。 | 是 | |
servers | list(string) | 连接的 Zookeeper 服务器列表。 | 是 | |
timeout | duration | Zookeeper 会话超时时间 | 10s | 否 |
块
discovery.serverset 组件不支持任何块。您可以使用参数配置此组件。
导出的字段
以下字段被导出,可以被其他组件引用
| 名称 | 类型 | 描述 |
|---|---|---|
targets | list(map(string)) | 发现的目标集合。 |
在重新标记期间,目标上可使用以下元数据标签
__meta_serverset_endpoint_host_<endpoint>: 给定端点的主机。__meta_serverset_endpoint_host: 默认端点的主机。__meta_serverset_endpoint_port_<endpoint>: 给定端点的端口。__meta_serverset_endpoint_port: 默认端点的端口。__meta_serverset_path: Zookeeper 中服务器集成员节点的完整路径。__meta_serverset_shard: 成员的分片编号。__meta_serverset_status: 成员的状态。
组件健康状态
discovery.serverset 仅在配置无效时报告不健康。在这种情况下,导出的字段保留其上次健康时的值。
调试信息
discovery.serverset 不暴露任何组件特定的调试信息。
调试指标
discovery.serverset 不暴露任何组件特定的调试指标。
示例
以下配置连接到其中一个 Zookeeper 服务器(zk1、zk2 或 zk3),并发现位于路径 /path/to/znode1 和 /path/to/znode2 的 JSON Serversets。发现的目标被 prometheus.scrape.default 组件抓取,并转发到 prometheus.remote_write.default 组件,该组件将样本发送到指定的 remote_write URL。
discovery.serverset "zookeeper" {
servers = ["zk1", "zk2", "zk3"]
paths = ["/path/to/znode1", "/path/to/znode2"]
timeout = "30s"
}
prometheus.scrape "default" {
targets = discovery.serverset.zookeeper.targets
forward_to = [prometheus.remote_write.default.receiver]
}
prometheus.remote_write "default" {
endpoint {
url = "http://remote-write-url1"
}
}兼容组件
discovery.serverset 具有可由以下组件使用的导出项
- 使用 Targets 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正常工作。请参考链接文档了解更多详情。



