添加并使用MaxCompute(ODPS)数据源

本文介绍如何在Grafana中添加并使用MaxCompute数据源。

步骤一:登录Grafana

  1. 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理

  2. 工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。

    说明

    如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。

步骤二:添加MaxCompute数据源

Grafana 9.x版本

  1. 在Grafana左侧导航栏,单击image图标,然后单击Add data source

  2. Add data source页面的搜索框中,搜索并单击MaxCompute(ODPS)

  3. Settings页面设置以下参数。

    参数

    说明

    Name

    数据源名称。

    Endpoint

    MaxCompute服务的连接地址。 您需要根据创建MaxCompute项目时选择的地域以及网络连接方式配置Endpoint。各地域及网络对应的Endpoint值,请参见Endpoint

    重要

    如果Endpoint配置有误,会出现无法访问的错误,请务必仔细确认。

    Default Project

    访问的目标MaxCompute项目名称。 如果您创建了标准模式的工作空间,在配置project_name时,请注意区分生产环境与开发环境(_dev)的项目名称,请参见必读:简单模式和标准模式的区别。 您可以登录MaxCompute控制台,在项目管理页签获取MaxCompute项目名称。

    AccessKeyId

    阿里云账号或RAM用户的AccessKey ID。 您可以进入AccessKey管理页面获取AccessKey ID。

    AccessKeySecret

    AccessKey ID对应的AccessKey Secret。创建AccessKey后,请妥善保管您的Secret,控制台不提供查看Secret的功能,具体过程,请参见获取AccessKey

    image

  4. 单击Save & Test

    当页面显示Database Connection OK时,表示MaxCompute数据已成功添加至Grafana。

    重要

    建议您使用低权限的只读账户进行配置,否则可能会对服务器安全造成较大威胁。

Grafana 10.x版本

  1. 在Grafana首页,单击页面左上角的image图标。

  2. 在Grafana左侧导航栏,选择管理 > 数据源

  3. 数据源页签单击Add data source

  4. Add data source页面的搜索框中,搜索并单击MaxCompute(ODPS)

  5. Settings页面设置以下参数。

    参数

    说明

    Name

    数据源名称。

    Endpoint

    MaxCompute服务的连接地址。 您需要根据创建MaxCompute项目时选择的地域以及网络连接方式配置Endpoint。各地域及网络对应的Endpoint值,请参见Endpoint

    重要

    如果Endpoint配置有误,会出现无法访问的错误,请务必仔细确认。

    Default Project

    访问的目标MaxCompute项目名称。 如果您创建了标准模式的工作空间,在配置project_name时,请注意区分生产环境与开发环境(_dev)的项目名称,请参见必读:简单模式和标准模式的区别。 您可以登录MaxCompute控制台,在项目管理页签获取MaxCompute项目名称。

    AccessKeyId

    阿里云账号或RAM用户的AccessKey ID。 您可以进入AccessKey管理页面获取AccessKey ID。

    AccessKeySecret

    AccessKey ID对应的AccessKey Secret。创建AccessKey后,请妥善保管您的Secret,控制台不提供查看Secret的功能,具体过程,请参见获取AccessKey

    image

  6. 单击Save & Test

    当页面显示Database Connection OK时,表示MaxCompute数据已成功添加至Grafana。

    重要

    建议您使用低权限的只读账户进行配置,否则可能会对服务器安全造成较大威胁。

步骤三:使用数据源创建大盘

此步骤以MaxCompute数据为例,介绍如何创建表格类和曲线类的大盘面板。

MaxCompute部分数据如下:

序号(ID)

城市(place)

用户(user)

动作(operate)

操作时间(operate_time)

次数(count)

1

杭州

用户A

浏览

2022/7/20 0:00

3

2

杭州

用户A

浏览

2022/7/20 1:00

8

3

杭州

用户A

浏览

2022/7/20 2:00

13

11

北京

用户A

浏览

2022/7/20 0:00

23

12

北京

用户B

浏览

2022/7/20 1:00

18

13

北京

用户B

浏览

2022/7/20 2:00

3

21

北京

用户C

浏览

2022/7/20 0:00

13

22

北京

用户C

浏览

2022/7/20 1:00

22

23

北京

用户C

浏览

2022/7/20 2:00

23

创建表格类型大盘面板

Grafana 9.x版本

  1. 在Grafana左侧导航栏,单击image图标,然后单击页面右上角的New Dashboard

  2. New Dashboard页面,单击Add a new panel

  3. Edit Panel页面右侧Visualization区域选择展示的图表类型为Table

  4. Query区域选择步骤二中添加的数据源。

  5. 通过BuilderCode模式构建SQL语句,以Code模式为例。

    SELECT
      id AS "序号",
      place AS "城市",
      user AS "用户",
      operate AS "动作",
      count AS "次数",
      operate_time AS "操作时间"
    FROM action_log;

    image

  6. 配置完成之后,单击Run query,然后单击Apply

Grafana 10.x版本

  1. 在Grafana首页,单击页面左上角的image图标。

  2. 在Grafana左侧导航栏,选择仪表板,单击页面右上角的新建,然后在下拉列表中单击新建仪表板

  3. 新建仪表板页面,单击+ 添加可视化

  4. 在弹出的Select data source页面右侧,选择步骤二中添加的数据源。

  5. 在Edit panel页面,通过BuilderCode模式构建SQL语句,以Code模式为例。

    SELECT
      id AS "序号",
      place AS "城市",
      user AS "用户",
      operate AS "动作",
      count AS "次数",
      operate_time AS "操作时间"
    FROM action_log;

    image

  6. 配置完成之后,单击Run query,然后单击Apply

创建曲线类型图表

Grafana 9.x版本

  1. 在已有大盘右上角单击image图标,然后单击Add a new panel

  2. Edit Panel页面右侧Visualization区域选择展示的图表类型为Time series

  3. Query区域选择步骤二中添加的数据源。

  4. 在折叠面板A下设置查询参数,然后单击Run query。以Builder模式为例。

    参数

    说明

    Dataset

    表所在的Project。为空则表示default project。

    Table

    所查询表名。此处设置为action_log。

    Column

    数据列,选择数据相关的列,包括AggregationAlias选项。此处增加两列,设置为avg(count) as "count" 和operate_time as "time"。

    Group by columnOrder byLimit

    与SQL中定义相同。

    说明

    更多操作方式请选择Code模式。

    image

  5. 可选:Edit Panel页面右侧Visualization区域选择展示的图表类型为Bar Chart,可以将数据显示为柱状图表。

    image

  6. 设置完成后,单击右上角的Apply

说明

如果您希望将上述数据按用户(user)进行分组并显示成多条曲线,可参见如下查询语句或者页面进行设置。以上面数据为例进行说明。

SELECT
  SUM(count) AS "count",
  user AS "user",
  to_date(operate_time,"yyyy/mm/dd hh:mi") AS "time"
FROM
  action_log
WHERE 
  user is not null
GROUP BY
  user,
  time
ORDER BY
  operate_time
LIMIT
  50;

image

Grafana 10.x版本

  1. 在已有大盘右上角单击添加,然后在下拉框中单击可视化

  2. Edit Panel页面右侧Visualization区域选择展示的图表类型为Time series

  3. Edit panelQuery区域,选择步骤二中添加的数据源。

  4. 在折叠面板A下设置查询参数,然后单击Run query。以Builder模式为例。

    参数

    说明

    Dataset

    表所在的Project。为空则表示default project。

    Table

    所查询表名。此处设置为action_log。

    Column

    数据列,选择数据相关的列,包括AggregationAlias选项。此处增加两列,设置为avg(count) as "count" 和operate_time as "time"。

    Group by columnOrder byLimit

    与SQL中定义相同。

    更多操作方式请选择Code模式。

    image

  5. 可选:Edit Panel页面右侧Visualization区域选择展示的图表类型为Bar Chart,可以将数据显示为柱状图表。

    image

  6. 设置完成后,单击右上角的Apply

说明

如果您希望将上述数据按用户(user)进行分组并显示成多条曲线,可参见如下查询语句或者页面进行设置。以上面数据为例进行说明。

SELECT
  SUM(count) AS "count",
  user AS "user",
  to_date(operate_time,"yyyy/mm/dd hh:mi") AS "time"
FROM
  action_log
WHERE 
  user is not null
GROUP BY
  user,
  time
ORDER BY
  operate_time
LIMIT
  50;

image