Link Search Menu Expand Document Documentation Menu

Vega

VegaVega-Lite 是开源的声明式语言可视化工具,您可以使用它们通过 OpenSearch 数据和 Vega 数据创建自定义数据可视化。这些工具非常适合能够直接编写 OpenSearch 查询的高级用户。在您的 opensearch_dashboards.yml 文件中启用 vis_type_vega 插件,以便以 JSON 或 HJSON 格式编写 Vega 规范,或者在您的 Vega 规范中指定一个或多个 OpenSearch 查询。默认情况下,该插件设置为 true

从多个数据源创建 Vega 可视化

2.13 版本引入

在继续之前,请确保在 config/opensearch_dasboards.yaml 文件中启用了以下配置设置。有关配置详情,请参阅 vis_type_vega README

data_source.enabled: true
vis_type_vega.enabled: true

在 OpenSearch Dashboards 中配置 多个数据源 后,您可以使用 Vega 查询这些数据源。以下 GIF 展示了在 OpenSearch Dashboards 中创建 Vega 可视化的过程。

Process of creating Vega visualizations in OpenSearch Dashboards

步骤 1:设置并连接数据源

打开 OpenSearch Dashboards 并按照以下步骤操作

  1. 从左侧菜单中选择 Dashboards Management
  2. 选择 Data sources,然后选择 Create data source 按钮。
  3. Create data source 页面,输入连接详情和端点 URL,如以下 GIF 所示。
  4. Home page 上,选择 Add sample data。在 Data source 下,选择您新创建的数据源,然后为 Sample web logs 数据集选择 Add data button

以下 GIF 展示了设置和连接数据源所需的步骤。

Setting up and connecting data sources with OpenSearch Dashboards

步骤 2:创建可视化

  1. 从左侧菜单中选择 Visualize
  2. Visualizations 页面,选择 Create Visualization,然后在弹出窗口中选择 Vega

步骤 3:添加 Vega 规范

默认情况下,查询使用来自本地集群的数据。您可以为 Vega 规范中的每个 OpenSearch 查询分配单独的 data_source_name 值。这允许您在单个可视化中查询不同数据源中的多个索引。

  1. 验证您创建的数据源是否在 data_source_name 下指定。或者,在您的 Vega 规范中,在 url 属性下添加 data_source_name 字段,以按名称指定特定的数据源。
  2. 复制以下 Vega 规范,然后选择右下角的 Update 按钮。可视化应出现。
{
  $schema: https://vega.github.io/schema/vega-lite/v5.json
  data: {
    url: {
      %context%: true
      %timefield%: @timestamp
      index: opensearch_dashboards_sample_data_logs
      data_source_name: YOUR_DATA_SOURCE_TITLE
      body: {
        aggs: {
          1: {
            date_histogram: {
              field: @timestamp
              fixed_interval: 3h
              time_zone: America/Los_Angeles
              min_doc_count: 1
            }
            aggs: {
              2: {
                avg: {
                  field: bytes
                }
              }
            }
          }
        }
        size: 0
      }
    }
    format: {
      property: aggregations.1.buckets
    }
  }
  transform: [
    {
      calculate: datum.key
      as: timestamp
    }
    {
      calculate: datum[2].value
      as: bytes
    }
  ]
  layer: [
    {
      mark: {
        type: line
      }
    }
    {
      mark: {
        type: circle
        tooltip: true
      }
    }
  ]
  encoding: {
    x: {
      field: timestamp
      type: temporal
      axis: {
        title: @timestamp
      }
    }
    y: {
      field: bytes
      type: quantitative
      axis: {
        title: Average bytes
      }
    }
    color: {
      datum: Average bytes
      type: nominal
    }
  }
}

其他资源

以下资源提供了关于 OpenSearch Dashboards 中 Vega 可视化的更多信息

剩余 350 字符

有问题?

想贡献吗?