服务发现.serverset
discovery.serverset
发现存储在 Zookeeper 中的 Serversets,并将它们公开为 targets (目标)。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 会话超时时间 | 10秒 | 否 |
块
discovery.serverset
组件不支持任何块。您可以使用参数配置此组件。
导出的字段
以下字段已导出,可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 发现的 targets (目标) 集。 |
以下元数据标签在重新标记期间在 targets (目标) 上可用
__meta_serverset_endpoint_host_<endpoint>
: 给定端点的主机。__meta_serverset_endpoint_host
: 默认端点的主机。__meta_serverset_endpoint_port_<endpoint>
: 给定端点的端口。__meta_serverset_endpoint_port
: 默认端点的端口。__meta_serverset_path
: Zookeeper 中 serverset 成员节点的完整路径。__meta_serverset_shard
: 成员的分片号。__meta_serverset_status
: 成员的状态。
组件健康状况
仅当给定无效配置时,discovery.serverset
才会被报告为不健康。在这些情况下,导出的字段会保留其最后一次健康的值。
调试信息
discovery.serverset
不公开任何组件特定的调试信息。
调试指标
discovery.serverset
不公开任何组件特定的调试指标。
示例
以下配置连接到 Zookeeper 服务器之一,zk1
、zk2
或 zk3
,并发现路径 /path/to/znode1
和 /path/to/znode2
中的 JSON Serversets。发现的 targets (目标) 由 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 (目标) 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。