菜单
开源

发现.uyuni

discovery.uyuni 发现 Uyuni 监控端点并将它们作为目标公开。

用法

alloy
discovery.uyuni "LABEL" {
    server   = SERVER
    username = USERNAME
    password = PASSWORD
}

参数

支持以下参数

名称类型描述默认值必需
server字符串主要Uyuni服务器。
username字符串用于认证到Uyuni API的用户名。
password密钥用于认证到Uyuni API的密码。
entitlement字符串列出目标时要过滤的权益。"monitoring_entitled"
separator字符串构建 __meta_uyuni_groups 标签时使用的分隔符。","
refresh_interval持续时间刷新目标列表的间隔。1m
proxy_url字符串要发送请求的HTTP代理。
no_proxy字符串逗号分隔的IP地址、CIDR表示法和域名列表,这些地址从代理中排除。
proxy_from_environment布尔值使用环境变量指示的代理URL。false
proxy_connect_headermap(list(secret))指定在CONNECT请求期间发送到代理的头部。
follow_redirects布尔值是否应跟随服务器返回的重定向。true
enable_http2布尔值是否支持请求的HTTP2。true

no_proxy 可以包含 IP、CIDR 表示法和域名。IP 和域名可以包含端口号。proxy_url 必须配置,如果配置了 no_proxy

proxy_from_environment 使用环境变量 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY(或其小写版本)。除非通过 NO_PROXY 排除,否则请求使用与它们方案匹配的环境变量中的代理。如果配置了 proxy_from_environment,不得配置 proxy_urlno_proxy

proxy_connect_header 应仅在实际配置了 proxy_urlproxy_from_environment 时配置。

discovery.uyuni 的定义内部支持以下块

层次结构描述必需
tls_configtls_configTLS配置,用于请求Uyuni API。

tls_config块

名称类型描述默认值必需
ca_pem字符串用于验证服务器的CA PEM编码文本。
ca_file字符串用于验证服务器的CA证书。
cert_pem字符串客户端认证的PEM编码文本证书。
cert_file字符串客户端认证的证书文件。
insecure_skip_verify布尔值禁用服务器证书的验证。
key_file字符串客户端认证用的密钥文件。
key_pem密钥客户端认证用的密钥PEM编码文本。
min_version字符串最接受的TLS最低版本。
server_name字符串ServerName扩展,用于指示服务器名称。

以下参数对互相排斥,不能同时设置。

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

配置客户端认证时,必须同时提供客户端证书(使用cert_pemcert_file)和客户端密钥(使用key_pemkey_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)

导出字段

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

名称类型描述
targetslist(map(string))从Uyuni API发现的集合目标。

每个目标包含以下标签

  • __meta_uyuni_minion_hostname:Uyuni Minion的主机名。
  • __meta_uyuni_primary_fqdn:Uyuni主机的FQDN。
  • __meta_uyuni_system_id:Uyuni Minion的系统ID。
  • __meta_uyuni_groups:Uyuni Minion所属的组。
  • __meta_uyuni_endpoint_name:端点名称。
  • __meta_uyuni_exporter:导出器的名称。
  • __meta_uyuni_proxy_module:Uyuni模块的名称。
  • __meta_uyuni_metrics_path:度量端点的路径。
  • __meta_uyuni_scheme:如果端点上启用了TLS,则为https,否则为http

这些标签主要来自于对Uyuni服务器listEndpoints API调用的结果。

组件健康状态

discovery.uyuni只有在提供无效配置时才报告为不健康。在这种情况下,导出字段保留其最后的健康值。

调试信息

discovery.uyuni不暴露任何组件特定的调试信息。

调试指标

discovery.uyuni不暴露任何组件特定的调试指标。

示例

alloy
discovery.uyuni "example" {
  server    = "https://127.0.0.1/rpc/api"
  username  = UYUNI_USERNAME
  password  = UYUNI_PASSWORD
}

prometheus.scrape "demo" {
  targets    = discovery.uyuni.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
    }
  }
}

替换以下内容

  • UYUNI_USERNAME:用于认证到Uyuni服务器的用户名。
  • UYUNI_PASSWORD:用于认证到Uyuni服务器的密码。
  • PROMETHEUS_REMOTE_WRITE_URL:发送指标到的Prometheus远程写入兼容服务器的URL。
  • USERNAME:用于认证到远程写入API的用户名。
  • PASSWORD:用于认证到远程写入API的密码。

兼容组件

discovery.uyuni导出的内容可以被以下组件消耗

注意

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