菜单
开源

发现ServerSet

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

用法

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

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

参数

支持以下参数

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

导出字段

以下字段被导出,并且可以被其他组件引用

名称类型描述
targetslist(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服务器之一(zk1zk2zk3),并发现路径/path/to/znode1/path/to/znode2处的JSON服务器集。发现的targets将被prometheus.scrape.default组件抓取,并转发到prometheus.remote_write.default组件,该组件将发送样本到指定的远程写入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有导出可以由以下组件消费

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。