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 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正常工作。请参考链接文档了解更多详情。