发现ServerSet
discovery.serverset
从Zookeeper中发现存储的 Serversets 并将其作为目标公开。Serversets通常由 Finagle 和 Aurora 使用。
用法
discovery.serverset "LABEL" {
servers = SERVERS_LIST
paths = ZOOKEEPER_PATHS_LIST
}
存储在Zookeeper中的Serverset数据必须为JSON格式。不支持Thrift格式。
参数
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
servers | list(string) | 要连接的Zookeeper服务器。 | yes | |
paths | list(string) | 要从中发现Serversets的Zookeeper路径。 | yes | |
timeout | duration | Zookeeper会话超时。 | 10s | no |
导出字段
以下字段被导出,并且可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 发现的targets集合。 |
在重新标记目标时,以下元数据标签在目标上可用
__meta_serverset_path
:Zookeeper中服务器集成员节点的完整路径__meta_serverset_endpoint_host
:默认端点的主机__meta_serverset_endpoint_port
:默认端点的端口__meta_serverset_endpoint_host_<endpoint>
:指定端点的主机__meta_serverset_endpoint_port_<endpoint>
:指定端点的端口__meta_serverset_shard
:成员的分区号__meta_serverset_status
:成员的状态
组件健康
discovery.serverset
只有在给出无效配置时才报告为不健康。在这些情况下,导出的字段保留其最后的健康值。
调试信息
discovery.serverset
不暴露任何特定组件的调试信息。
调试指标
discovery.serverset
不暴露任何特定组件的调试指标。
示例
以下配置将连接到Zookeeper服务器之一(zk1
、zk2
或zk3
),并发现路径/path/to/znode1
和/path/to/znode2
处的JSON服务器集。发现的targets将被prometheus.scrape.default
组件抓取,并转发到prometheus.remote_write.default
组件,该组件将发送样本到指定的远程写入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的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。