发现Triton
discovery.triton
发现Triton容器监控并将其作为目标公开。
用法
discovery.triton "LABEL" {
account = ACCOUNT
dns_suffix = DNS_SUFFIX
endpoint = ENDPOINT
}
参数
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必填 |
---|---|---|---|---|
account | string | 用于发现新目标的帐户。 | 是 | |
role | string | 要发现的类型的目标。 | "container" | 否 |
dns_suffix | string | 应用到的目标DNS后缀。 | 是 | |
endpoint | string | Triton发现端点。 | 是 | |
groups | list(string) | 要获取目标的分组列表。 | 否 | |
port | int | 用于发现和指标抓取的端口号。 | 9163 | 否 |
refresh_interval | duration | 目标的列表刷新间隔。 | 60s | 否 |
version | int | Triton发现API版本。 | 1 | 否 |
role
可以设置为
"container"
以发现运行在Triton上虚拟机(SmartOS区域、lx/KVM/bhyve品牌区域)"cn"
以发现组成Triton基础设施的计算节点(服务器/全局区域)
groups
仅在role
设置为"container"
时受支持。如果省略,则抓取请求帐户的所有容器。
块
以下块在discovery.triton
定义内部受支持
层次结构 | 块 | 描述 | 必填 |
---|---|---|---|
tls_config | tls_config | 对Triton API请求的TLS配置。 | 否 |
tls_config块
名称 | 类型 | 描述 | 默认值 | 必填 |
---|---|---|---|---|
ca_pem | string | 用于验证服务器的CA PEM编码文本。 | 否 | |
ca_file | string | 用于验证服务器的CA证书。 | 否 | |
cert_pem | string | 用于客户端认证的证书PEM编码文本。 | 否 | |
cert_file | string | 用于客户端认证的证书文件。 | 否 | |
insecure_skip_verify | bool | 禁用服务器证书的验证。 | 否 | |
key_file | string | 用于客户端认证的密钥文件。 | 否 | |
key_pem | secret | 客户端认证的密钥PEM编码文本。 | 否 | |
min_version | string | 可接受的最低TLS版本。 | 否 | |
server_name | string | 表示服务器名称的服务器名称扩展。 | 否 |
以下参数对互相排斥,不能同时设置
ca_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
配置客户端认证时,必须提供客户端证书(使用 cert_pem
或 cert_file
)和客户端密钥(使用 key_pem
或 key_file
)。
当未提供 min_version
时,可接受的最低TLS版本将从Go的默认最低版本继承,即TLS 1.2。如果提供了 min_version
,则必须将其设置为以下字符串之一
"TLS10"
(TLS 1.0)"TLS11"
(TLS 1.1)"TLS12"
(TLS 1.2)"TLS13"
(TLS 1.3)
导出字段
以下字段是导出的,可以由其他组件引用
名称 | 类型 | 描述 |
---|---|---|
targets | list(map(string)) | 从Triton API发现的集合的目标。 |
当 role
设置为 "container"
时,每个目标包括以下标签
__meta_triton_groups
:通过逗号分隔符连接的目标所属组列表。__meta_triton_machine_alias
:目标容器的别名。__meta_triton_machine_brand
:目标容器的品牌。__meta_triton_machine_id
:目标容器的UUID。__meta_triton_machine_image
:目标容器的镜像类型。__meta_triton_server_id
:目标容器正在运行的服务器UUID。
当 role
设置为 "cn"
时,每个目标包括以下标签
__meta_triton_machine_alias
:目标的主机名(需要triton-cmon 1.7.0或更高版本)。__meta_triton_machine_id
:目标的UUID。
组件健康
discovery.triton
只有在提供无效配置时才报告为不健康。在这种情况下,导出字段保留其最后健康值。
调试信息
discovery.triton
不公开任何特定组件的调试信息。
调试度量
discovery.triton
不公开任何特定组件的调试度量。
示例
discovery.triton "example" {
account = TRITON_ACCOUNT
dns_suffix = TRITON_DNS_SUFFIX
endpoint = TRITON_ENDPOINT
}
prometheus.scrape "demo" {
targets = discovery.triton.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
}
}
}
替换以下
TRITON_ACCOUNT
:您的Triton账户。TRITON_DNS_SUFFIX
:您的Triton DNS后缀。TRITON_ENDPOINT
:您的Triton端点。PROMETHEUS_REMOTE_WRITE_URL
:要将度量发送到的Prometheus remote_write兼容服务器的URL。USERNAME
:用于对远程_write API进行认证的用户名。PASSWORD
:用于对远程_write API进行认证的密码。
兼容组件
discovery.triton
具有以下组件可以使用的导出
- 消耗 Targets 的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅链接文档。