使用Excel分析CloudStack使用记录

时间:2022-04-21
本文章向大家介绍使用Excel分析CloudStack使用记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文的内容最初由David Nailey在Build a Cloud博客上撰写。

诺基亚的亚历克斯·贝德罗夫(Alex Bederov)一年前写了一篇关于使用Excel分析他的云使用情况统计的文章。当时我想引用这篇文章,但当我去寻找它的时候,我才意识到这篇知识数据库文章发表的网站docs.cloudstack.org已经不复存在了。但好在我仍然保存着那篇文章,而且内容和我想讨论的问题相关,所以我想我会在这里重新发布其中内容,使读者仍然能够看到其中的内容。

CloudStack具有经过精心思考,设计合理的日志系统。所有的信息都会被收集到系统中,但是它不是“即开即用”的,你必须自己从中提取所需要信息,以创建有意义的记录,比如计费记录或使用情况报告。幸运的是,CloudStack Usage Server使得这项任务非常容易完成,Microsoft Excel数据透视表则会使报告变得有趣和简单。

我设置我的Usage Server每24小时运行一次。名为“cloud_usage”的usage数据库与名为"cloud"的主数据库位于同一个MySQL服务器上。资源使用情况存储在名为cloud_usage(与数据库同名)的表中。我使用下面的SQL查询语句调取未经整理的数据,并将其转化为按照一定标准,用逗号隔开的规范文本用于Excel处理。

(SELECT dc.name as "Datacenter", ac.account_name as "Account", u.domain_id
as "Domain ID", u.raw_usage,
s.cpu as "CPU count", s.speed as "CPU, MHz", s.ram_size as "RAM, MB",
8589934592/1024/1024/1024 as "Storage, GB", u.start_date,
"-", u.offering_id, u.usage_id, u.usage_type, u.description
FROM cloud_usage.cloud_usage u, cloud.account ac,
cloud.data_center dc, cloud.service_offering s
WHERE u.account_id=ac.id
AND u.zone_id=dc.id
AND u.offering_id=s.id
AND u.usage_type=1)
UNION
(SELECT dc.name as "Datacenter", ac.account_name as "Account", u.domain_id as
"Domain ID", u.raw_usage,
NULL as "CPU count", NULL as "CPU, MHz", NULL as "RAM MB",
u.size/1024/1024/1024 as "Storage, GB", u.start_date,
"-", u.offering_id, u.usage_id, u.usage_type, u.description
FROM cloud_usage.cloud_usage u, cloud.account ac,
cloud.data_center dc, cloud.disk_offering dsk
WHERE u.account_id=ac.id
AND u.zone_id=dc.id
AND u.offering_id=dsk.id
AND u.usage_type=6)

该查询将虚拟机和硬盘的使用情况组合到同一个表中,并取消id字段。当前我没有在其中包括网络数据使用情况,这是因为我使用的是基于直连VLAN的网络模型。其中请注意,usage_type字段“1”代表虚拟机使用情况,“6”代表数据存储情况。

为了将数据导入到Excel中,我们需要安装MySQL ODBC接口,这将允许我们直接连接到MySQL服务器。 MySQL ODBC接口可从Oracle官网免费下载。

当你安装好ODBC后,打开一个新的Excel工作簿,单击数据,然后选择“From Other Sources”,然后选择“From Microsoft Query”。选择“New Data Source”

命名这个数据源(随便起一个名字用作标记)并选择之前下载好的MySQL ODBC驱动程序:

我正在使用用于SSH连接的只读帐户,该账户具有对云和cloud_usage数据库的读取权限。 当你输入你的数据库账户密码后点击测试按钮并选择cloud_usage数据库。

如果测试连接成功,那么点击OK完成数据数据库的连接。之后就可以使用这个数据源了。

选择新创建的数据源,然后单击确定按钮。 欢迎来到Windows 3.1界面! 不要使用Microsoft Query向导来创建查询。 取消所有的提示,点击SQL按钮进入SQL语句窗口。

将你的SQL粘贴到一个可笑的小窗口中,并将你的查询语句保存到一个文件中,记得给它取个有意义的名字。 Excel会提示你在哪里放置结果数据,使用默认值。

这个操作的结果是将我们的查询结果导入到Excel电子表格中。 下面是我的数据的结果:

请注意,我所有的模板使用8GB硬盘大小,所以我把根磁盘大小在SQL查询中硬编码成8GB(注意根据实际情况修改)。 现在让我们分析下这些数据。 单击右上角以选择整个工作表,然后单击在Excel主菜单中插入的选项,然后选择数据透视表,然后单击透视图。 在“数据透视表字段列表”中进行以下选择:

推荐一本使用Excel的入门书籍,通过它可以学习如何使用透视表分析数据。

Beginning Pivot Tables in Excel 2017

作者和ISBN号见上图