Grafana作为可观测的大门,支持将各数据整合并提供一站式的可视化界面,您可以通过一个Grafana账号管理需要监控的全部数据。本文以ECS数据为例,介绍如何将多个阿里云账号下的云服务数据添加到一个Grafana服务中。

背景信息

目前有不少用户拥有多个阿里云账号,并且每个阿里云账号都购买了ECS或者其它各类云产品,如果需要同时监控这些云产品,通过Grafana即可实现将各账号下的云服务数据集成到同一个Grafana工作区中。

示例场景

本文演示如何将阿里云账号A和B下的ECS数据全部集成到账号A下的Grafana工作区中。

步骤一:集成账号A的ECS数据并生成大盘

登录阿里云账号A,并在Grafana服务中集成ECS数据。

  1. 登录Grafana服务控制台
  2. 工作区管理页面,单击目标工作区ID或右侧操作列的管理
  3. 在左侧导航栏单击云服务管理
  4. 云服务管理页面左侧单击CloudMonitor云监控
  5. CloudMonitor云监控页面选择需要集成的数据源所在的地域,然后单击ECS大盘左侧的添加云服务图标,在弹出的集成对话框中单击确认
    Grafana服务会同步当前阿里云账号下ECS的数据源和大盘。等待几分钟后,当大盘名称前出现完成图标图标时,表示数据源和大盘已完成同步。查看云监控大盘
  6. CloudMonitor云监控页面单击查看云监控大盘
  7. 在Grafana的Manage页面单击名称为CMS-ECS的大盘。
    查看Grafana服务基于模板自动创建的ECS大盘。ECD大盘

步骤二:集成账号B的ECS数据

将阿里云账号B的ECS数据接入阿里云Prometheus云服务,并通过阿里云Prometheus云服务将ECS数据源添加至阿里云账号A创建的Grafana工作区中。

  1. 切换阿里云账号B,登录ARMS控制台
  2. 概览页面的接入中心区域单击查看全部,或者在左侧导航栏单击接入中心
  3. 接入中心页面的云服务区域单击Alibaba Cloud ECS
  4. 接入云服务面板单击确定
    页面将会跳转至阿里云Prometheus监控的云服务接入页面。
    说明 如果当前账号下的ECS已接入阿里云Prometheus云服务,您可以在ARMS控制台的Prometheus监控 > Prometheus实例列表页面,单击实例类型Prometheus for 云服务的实例名称,查看已接入云服务的ECS。
    云服务接入
  5. 在左侧导航栏单击设置
  6. 设置页签的云服务:cms折叠面板下,复制并保存HTTP API地址(Grafana 读取地址)的公网地址。
    说明 由于跨账号VPC不支持,因此无法使用内网地址。
  7. 切换阿里云账号A,登录Grafana服务控制台
  8. 工作区管理页面,单击目标工作区右侧的访问地址url链接进入Grafana。
    说明 如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。
  9. 在Grafana左侧导航栏选择设置 > Data sources
  10. Data Sources页签单击Add data source
  11. Add data source页面,单击Prometheus
  12. Settings页面,输入Name为数据源名称,在HTTP区域输入URL步骤6获取的HTTP API地址。
  13. 单击Save & Test
    当页面显示Data source is working时,表示ECS数据已成功添加至Grafana。更多配置信息,请参见Grafana官方文档

步骤三:为账号B的ECS数据创建Grafana大盘

使用账号A的ECS大盘模板,为账号B的ECS数据源创建Grafana大盘。

  1. 步骤一创建的大盘页面,单击分享图标图标,然后在Export页签打开Export for sharing externally开关,然后单击Save to file
    导出大盘
    当前大盘将会导出一个JSON文件。
  2. 在Grafana的左侧导航栏选择+ > Import
  3. Import页面单击Upload JSON file,然后选择并打开步骤1导出的JSON文件。
  4. Options区域修改大盘信息。
    导入大盘
    1. 输入Name为自定义大盘名称。
    2. Folder区域选择大盘存放的文件夹。
    3. Unique identifier (uid)区域单击Change uid,修改大盘的UID确保该串字符唯一即可。
    4. Select a Prometheus data source下拉框选择步骤二集成的数据源。
  5. 单击Import
    等待几秒钟后,即可查看大盘。账号B的大盘

进阶操作

以上步骤仅将不同账号的数据集成到同一个Grafana工作区下,但仍需分开查看大盘。以下步骤将演示如何在一张大盘里展示所有数据。

  1. 参考步骤二,将所有账号下的云服务数据添加至Grafana。
    注意 请按一定规律命名数据源名称,方便后续使用正则匹配选择对应的数据源。
    添加数据源
  2. 参考步骤二为其中任意一个数据源创建大盘。
  3. 在大盘页面右上角单击设置图标图标,然后在Settings页面左侧导航栏单击Variables
  4. Variables页签单击New
  5. Edit页面进行以下设置。
    添加数据源变量
    1. General区域自定义变量名称Name,例如DataSource;选择TypeDatasource
    2. Data source options区域选择TypePrometheus,然后通过正则匹配筛选Instance name filter为需要添加的数据源。
    3. 单击Update
  6. 修改其他涉及数据源的变量和面板为上一步添加是数据源。

    逐个修改变量和面板的数据源

    • 修改变量:
      1. Variables页签单击涉及数据源的变量。
      2. Edit页面的Query Options区域修改Data source为上一步创建的变量名称,例如${DataSource}修改变量
      3. 单击Update
    • 修改面板:
      1. 返回大盘页面,单击需要修改数据源的面板名称,然后在下拉框单击Edit编辑面板
      2. Edit Panel页面的Query页签,在数据源选择框中选择上一步创建的变量名称,例如${DataSource}面板改数据源
      3. 单击右上角的Apply

    批量修改变量和面板的数据源

    1. 在大盘页面右上角单击设置图标 图标,然后在Settings页面左侧导航栏单击JSON Model
    2. JSON Model页面批量修改datasource为上一步创建的变量名称,例如${DataSource}
      "datasource": "${DataSource}"
    3. 单击Save Changes
  7. 修改完成后,在大盘页面即可通过切换数据源查看不同数据源对应的大盘。
    切换数据源