1 前言
如果我们使用了多个公有云资源,想将多个云资源的账单放在一起做分析展示可以怎么来做?本次我们主要介绍以下 DataEase 仪表板模板的实现。
2 获取账单
获取公有云账单通常有两种方式,一种是通过 Excel 或 CSV 文件导出,另一种是通过 API 调用获取的方式。本次我们示例采用导入的方式,如需长期固定时间获取账单建议采用 API 自动化的方式。
获取阿里云账单如下所示,腾讯云、华为等其他云资源类似,可根据自己需要获取对应云平台账单。
3 账单数据入库
最终的分析需要基于数据库做联合查询,所以需将我们已获取到的账单详情数据存入我们日常使用的数据库中,当前示例中我们使用的数据库为 MySQL。如果上一个步骤是由 API 获取的账单数据同时做了入库则可忽略此步骤。
以下示例为使用 Navicat 做导入操作,您也可选择其它的方式。
接下来依次按照提示做操作即可。
最终我们准备好的各个云平台的账单详情数据表如下所示。
4 数据集准备及仪表板展示
因需要针对多个云平台的账单数据做一些联合分析,所以每个云的详情账单中所提供的字段是需要我们提前做调研分析的。他们其中有一些字段是可以互相对应上的,也有一些是自己独有的。我们可以根据自己的需求与云平台实际提供的字段来确认哪些内容做联合处理,哪些内容针对该平台单独做展示。
这里我们根据模板市场中的”公有云费用使用概况“仪表板抛砖引玉,大家可酌情参考,该仪表板所使用的大部分指标来自于以下 SQL 数据集。
多云账单详情
SELECT
'阿里云' 云类型,
CONCAT( LEFT (t1.`账号`, 1 ), '**' ) 账号,
SUBSTR( t1.`账期`, 1, 7 ) 账期,
t1.`产品`,
t1.`官网价`,
t1.`应付金额`,
t1.`现金支付`,
t1.`地域` 区域,
t1.`财务单元` 项目
FROM
`云账单_阿里云` t1 UNION ALL
SELECT
'华为云' AS 云类型,
CONCAT( LEFT (t2.`账号`, 1 ), '**' ) 账号,
SUBSTR( t2.`账期`, 1, 7 ) 账期,
t2.`产品`,
t2.`官网价(¥)` 官网价,
t2.`应付金额(¥)` 应付金额,
t2.`现金支付(¥)` 现金支付,
t2.`区域`,
t2.`企业项目`
FROM
`云账单_华为云` t2 UNION ALL
SELECT
'腾讯云' AS 云类型,
CONCAT( LEFT (t3.支付者UIN, 1 ), '**' ) 账号,
SUBSTR( t3.账单月份, 1, 7 ) 账期,
t3.`产品名称`,
t3.`组件原价`,
t3.`优惠后总价`,
t3.`现金账户支出(元)`,
t3.`地域`,
t3.`项目名称`
FROM
`云账单_腾讯云` t3
根据所有云平台同含义字段做了 UNION 查询,形成一个新的三个云共同的账单明细表,查询到的数据详情如下所示。
使用以上数据集,我们便可以实现下图仪表板中多云间的比较展示及汇总展示了。