本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

OpenMetrics

概述

SUSE Observability Agent V2 可以配置为从 OpenMetrics 端点检索指标并将其推送到 SUSE Observability。

设置

安装

OpenMetrics 检查包含在 [Agent V2 StackPack] 中。

配置

要启用 OpenMetrics 集成并开始从 OpenMetrics 端点收集指标数据,必须在 SUSE Observability Agent V2 上配置 OpenMetrics 检查。检查配置提供了 Agent 连接到您的 OpenMetrics 端点并检索可用指标所需的所有详细信息。

  • Kubernetes、OpenShift

  1. 在您的 Kubernetes 或 OpenShift 集群上部署 Agent。

  2. 在启动通过 OpenMetrics 端点公开指标的 pod 时,请添加以下注释。添加以下命令:

    • - 公开 OpenMetrics 的容器名称。可以在单个 pod 中处理多个端点(这就是 JSON 中有列表的原因)。

    • prometheus_url - OpenMetrics 端点公开的路径(通常只是 metrics)和端口。

    • namespace - 在此收集的所有指标将获得此点分隔的前缀。

    • metrics - 使用 ["*"] 收集所有可用指标。也可以指定要获取的指标列表。这应该是表示指标名称的字符串或重命名指标的映射<EXPOSED_METRIC>:<SENT_METRIC>

       ...
       metadata:
         annotations:
           ad.stackstate.com/<CONTAINER_NAME>.check_names: '["openmetrics"]'
           ad.stackstate.com/<CONTAINER_NAME>.init_configs: '[{}]'
           ad.stackstate.com/<CONTAINER_NAME>.instances: |
             [
               {
                 "prometheus_url": "http://%%host%%:<METRICS_PORT>/<METRICS_PATH>",
                 "namespace": "<METRICS_NAMESPACE>",
                 "metrics": ["*"]
               }
             ]
       ...
       # This already exists in the pod spec, the container name needs to match the container that is exposing the openmetrics endpoint
       spec:
         containers:
          - name: <CONTAINER_NAME>
       ...
  3. 您还可以添加可选配置和过滤器:

    • prometheus_metrics_prefix - 添加到公开 OpenMetrics 指标的前缀。

    • health_service_check - 发送服务检查 <NAMESPACE>.prometheus.health,报告 OpenMetrics 端点的健康状况。默认 true

    • label_to_hostname - 用一个标签的值覆盖主机名。

    • label_joins - 目标指标并通过 1:1 映射检索其标签。

    • labels_mapper - 重命名标签。格式为 <LABEL_TO_RENAME>: <NEW_LABEL_NAME>

    • type_overrides - 在 OpenMetrics 中覆盖类型,或输入未指定类型的度量(这些将默认被忽略)。支持的 <METRIC_TYPE>gaugecountrate。格式为 <METRIC_NAME>: <METRIC_TYPE>

    • tags - 附加到此集成发出的每个度量、事件和服务检查的标签列表。

    • send_histograms_buckets - 发送直方图桶。默认 true

    • send_monotonic_counter - 设置为 true 以将计数器转换为速率(注意需要两次运行才能产生第一个结果)。设置为 false 以将计数器作为单调计数器发送。默认 true

    • exclude_labels - 要排除的标签列表。

    • prometheus_timeout - 为 OpenMetrics 查询设置超时。

    • ssl_cert - 如果您的 OpenMetrics 端点是安全的,请输入证书的路径,并在 ssl_private_key 参数中指定私钥,或者提供包含证书和私钥的文件路径。

    • ssl_private_key - 如果 ssl_cert 中链接的证书不包含私钥,则为必需。请注意,您本地证书的私钥必须是未加密的。

    • ssl_ca_cert - 用于生成自定义证书的受信任 CA 的路径。

    • extra_headers - 一个字典,将 HTTP 头名称映射到其对应的值,以在查询 OpenMetrics 端点时发送。这些值可以使用 %%env_VARIABLE%% 语法动态包含环境变量。例如,"Authorization: Bearer %%env_TOKEN%%" 会自动替换 TOKEN 环境变量的值。

  4. 等待 Agent 从 OpenMetrics 端点收集数据并将其发送到 SUSE Observability。

已收集数据

指标

默认情况下,所有指标都从指定的 OpenMetrics 端点检索。为了优化性能,最多将检索 2000 个指标。如果检查尝试检索超过 2000 个指标,请在 配置 中添加 metrics 过滤器,以确保在限制内可以检索到所有重要指标。

检索到的指标不会自动映射到拓扑元素,但可以使用 遥测检查器进行浏览,并最终通过指标绑定 将其添加到组件中

事件活动

OpenMetrics 集成不会检索任何事件数据。

追踪

OpenMetrics 集成不会检索跟踪数据。