Grafana 使您能够查询、可视化、发出警报和探索存储在任何位置的指标、日志和跟踪。

此页面向您展示如何将 Grafana 与 Timescale Cloud 服务集成,创建仪表板和面板,然后可视化地理空间数据。

集成之前

要将服务中的数据连接到 Grafana

  1. 登录到 Grafana

    在您的浏览器中,登录到以下任一项

    • 自托管 Grafana:在 http://localhost:3000/。默认凭据为 admin, admin
    • Grafana Cloud:使用您创建帐户时设置的 URL 和凭据。
  2. 将您的服务添加为数据源

    1. 打开 Connections > Data sources,然后单击 Add new data source
    2. 从列表中选择 PostgreSQL
    3. 配置连接
      • Host URLUsernamePasswordDatabase:使用您的连接详细信息进行配置。
      • Database name:提供数据集的名称。
      • TLS/SSL Mode:选择 require
      • PostgreSQL options:启用 TimescaleDB
      • 保留所有其他字段的默认设置。
  3. 单击 Save & test

    Grafana 检查您的详细信息是否设置正确。

Grafana 组织成仪表板和面板。仪表板表示系统性能的视图,每个仪表板由一个或多个面板组成,这些面板表示有关与该系统相关的特定指标的信息。

要创建新仪表板

  1. Dashboards 页面上,单击 New 并选择 New dashboard

  2. 单击 Add visualization

  3. 选择数据源

    从预配置数据源列表中选择您的服务,或配置新的数据源。

  4. 配置您的面板

    选择可视化类型。该类型定义了除标准字段(例如面板名称)之外要配置的特定字段。

  5. 运行您的查询

    您可以直接编辑查询,也可以使用内置的查询编辑器。如果要可视化时序数据,请在 Format 下拉列表中选择 Time series

  6. 单击 Save dashboard

    您现在拥有一个带有一个面板的仪表板。通过单击右上角的 Add 并从下拉列表中选择 Visualization,向仪表板添加更多面板。

Grafana 时序面板包含时间过滤器

  1. 调用 $__timefilter() 以将 Grafana 面板中的用户界面构造与查询链接起来

    例如,要将 pickup_datetime 列设置为可视化的过滤范围

    SELECT
    --1--
    time_bucket('1 day', pickup_datetime) AS "time",
    --2--
    COUNT(*)
    FROM rides
    WHERE $__timeFilter(pickup_datetime)
  2. 对您的可视化进行分组,并按时间桶对结果进行排序

    在本例中,GROUP BYORDER BY 语句引用 time

    例如

    SELECT
    --1--
    time_bucket('1 day', pickup_datetime) AS time,
    --2--
    COUNT(*)
    FROM rides
    WHERE $__timeFilter(pickup_datetime)
    GROUP BY time
    ORDER BY time

    当您在 Grafana 中可视化此查询时,您会看到这样

    Timescale and Grafana query results

    您可以调整 time_bucket 函数并比较图表

    SELECT
    --1--
    time_bucket('5m', pickup_datetime) AS time,
    --2--
    COUNT(*)
    FROM rides
    WHERE $__timeFilter(pickup_datetime)
    GROUP BY time
    ORDER BY time

    当您可视化此查询时,它看起来像这样

    Timescale and Grafana query results in time buckets

Grafana 包括 Geomap 面板,因此您可以在地图上看到叠加的地理空间数据。这有助于了解数据如何根据其位置变化。

本节可视化了曼哈顿的出租车行程,其中行驶距离超过 5 英里。它使用与纽约出租车教程相同的查询作为起点。

  1. 添加地理空间可视化

    1. 在您的 Grafana 仪表板中,单击 Add > Visualization

    2. 在右上角的可视化类型下拉列表中选择 Geomap

  2. 配置数据格式

    1. 在下面的 Queries 选项卡中,选择您的数据源。

    2. Format 下拉列表中,选择 Table

    3. 在模式切换器中,切换 Code 并输入查询,然后单击 Run

      例如

      SELECT time_bucket('5m', rides.pickup_datetime) AS time,
      rides.trip_distance AS value,
      rides.pickup_latitude AS latitude,
      rides.pickup_longitude AS longitude
      FROM rides
      WHERE rides.trip_distance > 5
      GROUP BY time,
      rides.trip_distance,
      rides.pickup_latitude,
      rides.pickup_longitude
      ORDER BY time
      LIMIT 500;
  3. 自定义 Geomap 设置

    使用默认设置,可视化使用固定大小的绿色圆圈。至少配置以下内容以获得更具代表性的视图

    • Map layers > Styles > Size > value

      这将根据值更改圆圈的大小,较大的圆圈表示较大的值。

    • Map layers > Styles > Color > value

    • Thresholds > 添加 threshold

      为 7 和 10 添加阈值,以分别用不同的颜色标记超过 7 英里和 10 英里的行程。

    您现在拥有一个看起来像这样的可视化

    Timescale and Grafana integration

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页