菜单
开源

discovery.serverset

discovery.serverset 从 Zookeeper 中发现 Serverset 并将其作为目标公开。Serverset 通常由 FinagleAurora 使用。

用法

alloy
discovery.serverset "LABEL" {
	servers = SERVERS_LIST
	paths   = ZOOKEEPER_PATHS_LIST
}

存储在 Zookeeper 中的 Serverset 数据必须采用 JSON 格式。不支持 Thrift 格式。

参数

支持以下参数

名称类型描述默认值必需
serverslist(string)要连接的 Zookeeper 服务器。
pathslist(string)从 Zookeeper 中发现 Serverset 的路径。
timeoutdurationZookeeper 会话超时时间10s

导出字段

导出以下字段,其他组件可以引用这些字段

名称类型描述
targetslist(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 服务器(zk1zk2zk3 之一),并在路径 /path/to/znode1/path/to/znode2 处发现 JSON Serverset。发现的目标由 prometheus.scrape.default 组件抓取,并转发到 prometheus.remote_write.default 组件,该组件将样本发送到指定的 remote_write URL。

alloy
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 具有可以被以下组件使用的导出项:

注意

连接某些组件可能没有意义,或者组件可能需要进一步配置才能使连接正常工作。有关详细信息,请参阅链接的文档。