发现nerve
discovery.nerve
用来发现存储在 Zookeeper 中的 airbnb/nerve 目标。
用法
discovery.nerve "LABEL" {
servers = [SERVER_1, SERVER_2]
paths = [PATH_1, PATH_2]
}
参数
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
servers | 列表(字符串) | Zookeeper 服务器。 | 是 | |
paths | 列表(字符串) | 查找目标的路径。 | 是 | |
timeout | 持续时间 | 使用的超时时间。 | "10s" | 否 |
路径列表中的每个元素可以指向一个单一的服务,或者指向一个服务的树根。
块
discovery.nerve
组件不支持任何块,完全通过参数进行配置。
导出字段
以下字段被导出,并可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | 列表(映射) | 从 Nerve 的 API 中发现的目标集合。 |
以下元标签在目标上可用,并且可以被 discovery.relabel 组件使用
__meta_nerve_path
: Zookeeper 中端点节点完整路径__meta_nerve_endpoint_host
: 端点主机__meta_nerve_endpoint_port
: 端点端口__meta_nerve_endpoint_name
: 端点名称
组件健康
discovery.nerve
只有在给出无效配置时才会报告为不健康。在这种情况下,导出字段保留其最后的健康值。
调试信息
discovery.nerve
不暴露任何组件特定的调试信息。
调试度量
discovery.nerve
不暴露任何组件特定的调试度量。
示例
discovery.nerve "example" {
servers = ["localhost"]
paths = ["/monitoring"]
timeout = "1m"
}
prometheus.scrape "demo" {
targets = discovery.nerve.example.targets
forward_to = [prometheus.remote_write.demo.receiver]
}
prometheus.remote_write "demo" {
endpoint {
url = PROMETHEUS_REMOTE_WRITE_URL
basic_auth {
username = USERNAME
password = PASSWORD
}
}
}
替换以下
PROMETHEUS_REMOTE_WRITE_URL
:发送指标到 Prometheus 远程_write 兼容服务器的 URL。USERNAME
:用于对远程_write API 进行身份验证的用户名。PASSWORD
:用于对远程_write API 进行身份验证的密码。
兼容组件
discovery.nerve
的导出可以被以下组件使用
- 消费 目标 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正确工作。请参阅链接文档以获取更多详细信息。