菜单
全面可用 (GA)

服务发现.serverset

discovery.serverset 发现存储在 Zookeeper 中的 Serversets,并将它们公开为 targets (目标)。Serversets 通常被 FinagleAurora 使用。

用法

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

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

参数

您可以将以下参数与 discovery.serverset 一起使用

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

discovery.serverset 组件不支持任何块。您可以使用参数配置此组件。

导出的字段

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

名称类型描述
targetslist(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 服务器之一,zk1zk2zk3,并发现路径 /path/to/znode1/path/to/znode2 中的 JSON Serversets。发现的 targets (目标) 由 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 具有可以被以下组件使用的导出

注意

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