指标分析

您现在可以使用 指标 工具来摄入和可视化直接存储在 UDB-SX 中的指标数据。这为您提供了跨日志、追踪和指标分析和关联数据的工具。

在此功能发布之前,您只能从监控环境中摄入和可视化日志与追踪数据。现在,借助 指标 工具,您可以更细致地观察您的数字资产,更深入地了解基础设施的健康状况,并为根因分析提供更好的信息。

指标 工具除了提供联合可视化功能外,还支持以下功能:

  • 包含兼容 OpenTelemetry (OTel) 的指标索引(此处文档可以联系售前工作人员获取)的 UDB-SX 集群,其中包含基于 OTel 的信号。有关 OTel 的概述,请参阅 什么是 OpenTelemetry?

  • 连接到 Prometheus 服务器的、包含 Prometheus 数据源(此处文档可以联系售前工作人员获取)的 UDB-SX 集群。

下图显示了从 Prometheus 检索指标并将其显示在可视化仪表板上的流程。

../_images/prom-metrics.png

下图显示了一个可观测性仪表板,它使用 OTel 查询来可视化来自 UDB-SX 索引的指标数据。

../_images/otel-metrics.png


配置 Prometheus 将指标数据发送到 UDB-SX

您必须首先使用 SQL 插件(此处文档可联系售前工作人员获取) 创建从 Prometheus 到 UDB-SX 的连接。然后,您可以使用 _datasources API 端点配置到 Prometheus 的连接。

以下示例展示了一个配置无需任何身份验证的 Prometheus 数据源的请求:

POST _plugins/_query/_datasources 
{
    "name" : "my_prometheus",
    "connector": "prometheus",
    "properties" : {
        "prometheus.uri" : "http://localhost:9090"
    }
}

以下示例展示了如何使用 AWS Signature Version 4 身份验证配置 Prometheus 数据源:

POST _plugins/_query/_datasources
{
    "name" : "my_prometheus",
    "connector": "prometheus",
    "properties" : {
        "prometheus.uri" : "http://localhost:8080",
        "prometheus.auth.type" : "awssigv4",
        "prometheus.auth.region" : "us-east-1",
        "prometheus.auth.access_key" : "{{accessKey}}"
        "prometheus.auth.secret_key" : "{{secretKey}}"
    }
}

配置连接后,您可以在 UDB-SX Dashboards 中查看 Prometheus 指标,方法是进入 可观测性 > 指标 页面,如下图所示。

../_images/metrics1.png

开发者资源

请参阅以下开发者资源,了解示例代码、文章、教程和 API 参考:

  • 数据源设置(此处文档可以联系售前工作人员获取),其中包含关于数据源 API 身份验证和授权的信息。

  • Prometheus 连接器(此处文档可以联系售前工作人员获取),其中包含配置信息。

  • 可观测性简单模式(此处文档可以联系售前工作人员获取),其中包含关于 OTel 模式和摄入流水线的信息。

  • OTel 指标源(此处文档可以联系售前工作人员获取),其中包含关于 Data Prepper 指标流水线和摄入的信息。


在 UDB-SX 演示环境中体验 OpenTelemetry 指标

UDB-SX 的 opentelemetry-demo 仓库(此处文档可以联系售前工作人员获取) 提供了一个实用的演示,展示了如何通过 OpenTelemetry 的 OpenTelemetry Metrics 收集、处理和可视化指标数据,并使用 UDB-SX Dashboards 中的 Metrics 工具。

在 UDB-SX 中可视化 OTel 指标

要在 UDB-SX 中可视化 OTel 指标数据,请按照以下步骤操作:

  1. 安装 opentelemetry-demo 仓库(此处文档请联系售前工作人员获取)。有关说明,请参阅入门指南(此处文档请联系售前工作人员获取)。

  2. 收集 OTel 信号,包括指标信号。有关说明,请参阅 OTel Collector 指南。

  3. 配置 OTel 流水线以发出指标信号。有关说明,请参阅 OTel Collector Pipeline(此处文档请联系售前工作人员获取) 指南。

示例 YAML 配置文件

    service:
      extensions: [basicauth/client]
      pipelines:
        traces:
          receivers: [otlp]
          processors: [batch]
          exporters: [otlp, debug, spanmetrics, otlp/traces, opensearch/traces]
        metrics:
          receivers: [otlp, spanmetrics]
          processors: [filter/ottl, transform, batch]
          exporters: [otlphttp/prometheus, otlp/metrics, debug]
        logs:
          receivers: [otlp]
          processors: [batch]
          exporters: [otlp/logs,  opensearch/logs, debug]
  1. 配置 Data Prepper 流水线(此处文档请联系售前工作人员获取),将收集到的指标信号发送到 UDB-SX 指标索引中。

示例 YAML 配置文件

    otel-metrics-pipeline:
      workers: 8
      delay: 3000
      source:
        otel_metrics_source:
          health_check_service: true
          ssl: false
      buffer:
        bounded_blocking:
          buffer_size: 1024 # 缓冲区接受的最大记录数
          batch_size: 1024 # 每次读取后缓冲区排出的最大记录数
      processor:
        - otel_metrics:
            calculate_histogram_buckets: true
            calculate_exponential_histogram_buckets: true
            exponential_histogram_max_allowed_scale: 10
            flatten_attributes: false
      sink:
        - opensearch:
            hosts: ["https://opensearch-node1:10200"]
            username: "admin"
            password: "my_%New%_passW0rd!@#"
            insecure: true
            index_type: custom
            template_file: "templates/ss4o_metrics.json"
            index: ss4o_metrics-otel-%{yyyy.MM.dd}
            bulk_size: 4
  1. 将指标数据摄入到 UDB-SX 中。随着演示开始生成数据,指标信号将被添加到支持 OpenTelemetry Metrics 模式格式的 UDB-SX 索引中。

  2. 指标 页面上,从 数据源 下拉菜单中选择 Otel-Index,并从 OTel index 下拉菜单中选择 Simple Schema for Observability Index。将显示一个可视化图表,如下图所示。

../_images/otel-metrics.png


可视化远程集群中的指标

您可以使用 指标 工具查看来自远程 UDB-SX 集群的指标。选择右上角工具栏上的数据库图标,并从 数据源 下拉菜单中选择一个集群,如下图所示。您可以从本地集群切换到远程集群。

../_images/remote-cluster-selection.png

您还可以将来自其他源的指标可视化与本地指标可视化一起查看。从 数据源 下拉菜单中,选择远程指标可视化,将其添加到仪表板上已显示的可视化图表组中。示例仪表板如下图所示。

../_images/otel-metrics-remote-cluster-selection.png

要了解有关数据源多集群支持的更多信息,请参阅 使 UDB-SX Dashboards 支持多个 UDB-SX 集群(此处文档请联系售前工作人员获取)。

基于自定义指标创建可视化图表

您可以使用 UDB-SX 集群收集的指标数据(包括 Prometheus 指标和自定义指标)来创建可视化图表。

要创建这些可视化图表,请按照以下步骤操作:

  1. 在 UDB-SX Dashboards 主菜单中,导航到 可观测性 > 指标 > 可用指标

  2. 选择要添加到可视化图表中的指标,然后选择 保存

  3. 当提示输入 自定义操作仪表板/应用程序 时,从列出的选项中选择一个。您可以在 指标名称 字段中编辑预定义名称值。

  4. 选择 保存 以保存您的可视化图表。示例可视化图表如下图所示。

../_images/metrics2.png

为 Prometheus 指标定义 PPL 查询

您可以定义 管道处理语言 (PPL) 查询来与 Prometheus 收集的指标进行交互。以下是 Prometheus 指标的 PPL 查询示例:

source = my_prometheus.prometheus_http_requests_total | stats avg(@value) by span(@timestamp,15s), handler, code

基于 PPL 查询创建自定义可视化图表

要基于 PPL 查询创建自定义可视化图表,请按照以下步骤操作:

  1. 日志 页面中,选择 事件探索器

  2. 探索器 页面上,输入您的 PPL 查询并选择 运行。然后选择 保存

  3. 当提示选择 自定义操作仪表板/应用程序 时,从列出的选项中选择一个。您可以选择在 指标名称 字段中编辑预定义名称值,并可以选择将可视化图表保存为指标。

  4. 选择 保存 以保存您的自定义可视化图表。

只有包含时间序列可视化以及统计信息或跨度信息的查询才能保存为指标,如下图所示。

../_images/metrics3.png