discovery.serverset
discovery.serverset
从 Zookeeper 中发现 Serverset 并将其作为目标公开。Serverset 通常由 Finagle 和 Aurora 使用。
用法
discovery.serverset "LABEL" {
servers = SERVERS_LIST
paths = ZOOKEEPER_PATHS_LIST
}
存储在 Zookeeper 中的 Serverset 数据必须采用 JSON 格式。不支持 Thrift 格式。
参数
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
servers | list(string) | 要连接的 Zookeeper 服务器。 | 是 | |
paths | list(string) | 从 Zookeeper 中发现 Serverset 的路径。 | 是 | |
timeout | duration | Zookeeper 会话超时时间 | 10s | 否 |
导出字段
导出以下字段,其他组件可以引用这些字段
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 发现的目标集。 |
在重新标记期间,目标上可以使用以下元数据标签:
__meta_serverset_path
: Zookeeper 中 Serverset 成员节点的完整路径__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 Serverset。发现的目标由 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
具有可以被以下组件使用的导出项:
- 使用 目标 的组件
注意
连接某些组件可能没有意义,或者组件可能需要进一步配置才能使连接正常工作。有关详细信息,请参阅链接的文档。