Grafana作为可观测的大门,支持将各数据整合并提供一站式的可视化界面,您可以通过一个Grafana账号管理需要监控的全部数据。本文以ECS数据为例,介绍如何将多个阿里云账号下的云服务数据添加到一个可观测可视化 Grafana 版中。
背景信息
目前有不少用户拥有多个阿里云账号,并且每个阿里云账号都购买了ECS或者其它各类云产品,如果需要同时监控这些云产品,通过Grafana即可实现将各账号下的云服务数据集成到同一个Grafana工作区中。
示例场景
本文档以9.0.x版本和10.x版本的Grafana为例演示如何将阿里云账号A和B下的ECS数据全部集成到账号A下的Grafana工作区中。
步骤一:集成账号A的ECS数据并生成大盘
登录阿里云账号A,并在可观测可视化 Grafana 版中集成ECS数据。
登录ARMS控制台,在左侧导航栏选择 。
在工作区管理页面,单击目标工作区ID。
在工作区信息页面的云服务集成区域左侧单击Prometheus 云监控服务(旧)。
在右侧页面选择需要集成的数据源,然后单击右侧操作列的集成,并在弹出的对话框中单击确认。
说明单击配置云服务监控,可以将更多云产品接入阿里云Prometheus监控。
已集成的数据源其状态列会显示已集成。
单击数据源右侧的文件夹,在Grafana的Dashboards页面您可以查看数据源对应大盘所在的文件夹。
单击目标文件夹,即可看到对应的大盘信息。
步骤二:在云服务环境中接入阿里云ECS组件
将阿里云账号B的ECS数据接入可观测监控 Prometheus 版云服务,并通过可观测监控 Prometheus 版云服务将ECS数据源添加至阿里云账号A创建的Grafana工作区中。
切换阿里云账号B,登录ARMS控制台。
在概览页面的接入中心区域单击接入其他组件,或者在左侧导航栏单击接入中心。
在接入中心页面的基础设施区域单击阿里云 ECS。
在弹出的面板中选择存储地域,然后单击确定。
在接入成功后,单击接入管理。
说明如果当前账号下的ECS已接入阿里云Prometheus云服务,您可以在ARMS控制台的实例类型为Prometheus for 云服务的实例名称,查看已接入云服务的ECS。
页面,单击
步骤三:获取HTTP API地址
登录ARMS控制台。
在左侧导航栏单击接入管理。
在接入管理页面的已接入环境页签中,选择云服务区域环境。
在云服务区域环境列表中,单击目标环境名称进入云服务环境详情页面。
在组件管理页签下,单击默认指标存储的名称。
在设置页签下,复制并保存HTTP API地址(Grafana 读取地址)的公网地址。
说明由于跨账号VPC不支持,因此无法使用内网地址。
步骤四:配置Grafana的数据源
Grafana 9.x版本
切换阿里云账号A,登录ARMS控制台,在左侧导航栏选择 。
在工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。
说明如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或者单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。
在Grafana左侧导航栏选择 。
在Data Sources页签,单击Add data source。
在Add data source页面,单击Prometheus。
在Settings页面,输入Name为数据源名称,在HTTP区域输入URL为步骤三中获取的HTTP API地址。
单击Save & Test。
当页面显示
Data source is working
时,表示ECS数据已成功添加至Grafana。更多配置信息,请参见开源版Grafana文档。
Grafana 10.x版本
切换阿里云账号A,登录ARMS控制台,在左侧导航栏选择 。
切换阿里云账号A,登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理。
在工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。
说明如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或者单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。
登录成功后,单击页面左上角的图标。
在左侧导航栏,单击管理,然后单击数据源。
在数据源页面,单击+ Add data source。
在Add data source页面,单击Prometheus。
在Settings页面,输入Name为数据源名称,在HTTP区域输入URL为步骤三中获取的HTTP API地址。
单击Save & Test。
当页面显示
Data source is working
时,表示ECS数据已成功添加至Grafana。更多配置信息,请参见开源版Grafana文档。
步骤五:为账号B的ECS数据创建Grafana大盘
使用账号A的ECS大盘模板,为账号B的ECS数据源创建Grafana大盘。
Grafana 9.x版本
在左侧导航栏。单击图标,然后单击Browse。
单击在步骤四中创建大盘名称。
单击页面顶部的图标,然后单击Export。
在Export页签,打开Export for sharing externally开关,然后单击Save to file,当前大盘将会导出一个JSON文件。
在左侧导航栏,单击图标,然后单击Import。
在Import页面,单击Upload JSON file,然后打开步骤4导出的JSON文件。
按照下表说明,在Options区域修改大盘信息。
参数
说明
Name
自定义大盘名称。
Folder
现在大盘存放的文件夹。
Unique identifier (UID)
单击Change uid,修改大盘的UID确保该串字符唯一即可。
Select a Prometheus data source下拉框
选择步骤四集成的数据源。
设置完成之后,单击Import,等待几秒钟后,即可查看大盘。
Grafana 10.x版本
登录成功后,单击页面左上角的图标。
在左侧导航栏,单击仪表盘。
在仪表盘页面,单击在步骤四中创建大盘名称。
单击页面顶部的图标,然后单击导出。
在导出页签,打开导出以供外部分享的开关,然后单击保存至文件,当前大盘将会导出一个JSON文件。
在左侧导航栏,单击仪表盘。
在仪表盘页面,单击新建下拉框,然后单击导入。
在Import dashboard页面,单击图标,打开步骤5中导出的JSON文件。
按照下表说明,在Options区域修改大盘信息。
参数
说明
Name
自定义大盘名称。
Folder
现在大盘存放的文件夹。
Unique identifier (UID)
单击Change uid,修改大盘的UID确保该串字符唯一即可。
设置完成之后,单击Import,等待几秒钟后,即可查看大盘。
进阶操作
以上步骤仅将不同账号的数据集成到同一个Grafana工作区下,但仍需分开查看大盘。以下步骤将演示如何在一张大盘里展示所有数据。
Grafana 9.x版本
参见步骤四,将所有账号下的云服务数据添加至Grafana,为其中任意一个数据源创建大盘。
重要请按一定规律命名数据源名称,方便后续使用正则匹配选择对应的数据源。
在左侧导航栏,单击图标,然后单击您创建的数据大盘名称。
进入大盘后,单击页面右上角的图标。
在左侧导航栏,单击Variables,然后单击Add variable。
在Edit页面,按照下表提示设置参数,配置完成后,单击Update。
区域
参数
说明
General区域
Name
自定义变量名称。
Type
选择Data source。
Data source options区域
Type
选择Prometheus。
Instance name filter
通过正则匹配(格式:
/.*-(.*)-.*/
)筛选您所需的大盘。将所有相关变量和面板的数据源更新为上一步添加的新数据源。
修改变量。
在Variables页面,单击New。
在Edit页面的General区域,修改Type为Query。
在Query Options区域,修改Data source为上一步创建的变量名称,例如
${query0}
。单击Update。
修改面板。
返回大盘页面,单击需要修改数据源的面板名称,然后在下拉框中单击Edit。
在Edit Panel页面的Query页签,在数据源选择框中选择的上一步创建的变量名称,例如
${query0}
。单击右上角的Apply。
在大盘页面右上角单击图标,然后在页面左侧导航栏单击JSON Model。
在JSON Model页面批量修改
datasource
为上一步创建的变量名称。例如: "datasource": { "type": "Prometheus", "uid": "${query0}" },
单击Save changes。
修改完成后,在大盘页面即可通过切换数据源查看不同数据源对应的大盘。
Grafana 10.x版本
参见步骤四,将所有账号下的云服务数据添加至Grafana,为其中任意一个数据源创建大盘。
重要请按一定规律命名数据源名称,方便后续使用正则匹配选择对应的数据源。
在左侧导航栏,单击仪表盘,然后单击您创建的数据大盘。
进入大盘后,单击页面右上角的图标。
在左侧导航栏,单击Variables,然后单击Add variable。
弹出的页面中,按照下表提示完成参数配置,然后单击Apply。
参数
说明
Select variable type
在下拉框中选择Data source。
Name
自定义变量名称。
Show on dashboard
选择Label and value。
Type
在下拉框中选择Prometheus。
Instance name filter
通过正则匹配(格式:
/.*-(.*)-.*/
)筛选您所需的大盘。将所有相关变量和面板的数据源更新为上一步添加的新数据源。
修改变量。
在Variables页面,打击+ New variable。
弹出的页面中,按照下表提示完成参数配置,然后单击Apply。
参数
说明
Select variable type
在下拉框中选择Query。
Name
自定义变量名称。
Show on dashboard
选择Label and value。
Data source
选择上一步创建的变量名称。如
${query01}
。Query
选择您需要的Query Type、Label和Metric。
Sort
在下拉框中选择Disabled。
Refresh
选择On dashboard load。
修改面板。
返回大盘页面,单击需要修改数据源的面板右上角的图标,然后在下拉框中单击编辑。
在Edit Panel页面的Query页签,在数据源选择框中选择上一步创建的变量名称,例如
${query0}
。单击右上角的Apply。
在大盘页面右上角单击图标,然后在页面左侧导航栏单击JSON Model。
在JSON Model页面批量修改
datasource
为上一步创建的变量名称。例如: "datasource": { "type": "Prometheus", "uid": "${query01}" },
单击Save changes。
修改完成后,在大盘页面即可通过切换数据源查看不同数据源对应的大盘。