典型云计算平台与应用教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.5 云监测技术

为了更好地体现云计算处理海量数据的强大能力,检测和分析云计算系统、虚拟机的行为变得尤为重要和关键。在这方面研究人员做了大量的工作,目前,已经出现了一些典型的研究案例。

1. 大规模监测系统Chukwa

Jerome Boulon等设计实现了Chukwa,其是建立在Hadoop上的数据收集系统,用以监测和分析大规模分布式系统。同时还包括一个可扩展的功能强大的工具集,用户显示监测和分析的结果,这样有利于更好地使用该数据收集系统。

Chukwa有广泛的适应范围,其适合Hadoop用户、运营商、管理员和开发者使用。Hadoop用户能运行Chukwa监测其工作的进程,掌握设备的使用状况,同时可以获得相关的日志信息;运营商可以使用Chukwa监测设备的性能、发现故障;管理员可以使用Chukwa分析设备的使用情况,并对未来的需求做出预测和判断;Hadoop开发者可以使用Chukwa了解 Hadoop的运行性能,用以指导设计与开发。

为了满足其应用的需求,Chukwa需要弹性的自动可控的数据源和高性能大规模的存储系统,同时需要一个可分析大量数据的体系结构。Chukwa体系结构如图1-14所示。

图1-14 Chukwa体系结构图

在Chukwa系统中自动可控制的数据源称为适配器。适配器用于收集日志信息,应用程序数据和系统信息等。为了使适配器便于写数据,Chukwa中设计了代理,代理其实是运行在监控节点中的一个进程,为适配器提供多种服务。代码有如下3个功能:

· 通过外部命令对适配器进行启动或停止。

· 通过HTTP向收集器提交数据。

· 可对适配器的状态做定期的检查。

Chukwa系统中的存储子系统采用的是HDFS,而HDFS缺点是并行的写速率不高,不支持小文件的读/写。所以在Chukwa中对其进行了改进提高,设计实现了收集器。Chukwa中不允许适配器直接往HDFS中写数据,而是通过网络把数据发送给收集器,收集器接收来自不同主机的数据,当接收一定数据的数据后,把这些数据写入一个单独的文件中,接着存储到HDFS中去。

为了便于分析收集来的数据,Jerome Boulon等建立了可扩展的、易配置的网页界面程序——Hadoop基础服务中心,对数据进行分析和显示。

经过测试,高性能分布式监控系统Chukwa能很容易地建立在现有的分布式数据收集框架之上。

2. 虚拟机内部监测法

云计算提供商为云用户提供大量计算资源,云用户在使用这些资源时,需要将自己的操作系统镜像上传到云设施计算机中,这样云计算环境允许用户在云供应商的硬件上执行任意代码。因此,云用户面临很多安全的挑战,恶意用户可利用供应商的硬件发动攻击,这种攻击能破坏供应商的信誉,同时影响服务其他客户的能力。这就必须要求云供应商利用虚拟机内部监测方法来检测用户恶意行为,从而保证虚拟机的正常工作,确保云用户不会受到恶意攻击。

Lionel Litty等从监控虚拟机事件的范围和干预具体事件的能力、对被监控虚拟机影响的程度、健壮性3方面对基于主机代理、陷阱和检查、检测点与回滚、体系结构监控4种内部监测方法进行了对比分析,结果如表1-3所示。

表1-3 内部监测技术能力测试

从表中可看出4种方法各有优劣,适用于不同的应用场景。

1)基于主机代理

基于主机代理的方法是通过运行在被监测虚拟机上的一个应用程序实现的,其可能位于用户空间或一个内核模块中。这是一种主动注入的方法,对被监控的虚拟机有很大的影响。这种方法的健壮性和监控事件的能力是由代理的设计和操作系统的特点决定的,不同的操作系统不可能为系统的监控提供完全兼容的API包,如果API没有提供足够的监控事件的能力,代理可通过增加内核代码来弥补这种缺陷。因此,这种方法的健壮性和监控事件的能力相对较好。

2)检测点与回滚

这种内部监测方法是对第二种方法的一个扩展和深入,当虚拟机监控器监测到有异常行为时,会将系统回滚到以前设置的检测点的位置。此方法对被监控的虚拟机的影响较小,监控虚拟机事件的范围及干预具体事件的能力较强,但在健壮性方面有待加强。

3)陷阱和检查

这种方法不是一种注入方式,与基于主机代理的方法相比,此方法防止对代码的篡改,避免对虚拟机执行的冲突,所以,这种方法对被监控的虚拟机的影响较小。

4)体系结构监控

这种方法的原理是监控那些有明确定义不易被改变的接口。此方法有很强的健壮性,因为接口很稳定,攻击者很难实时地对其进行改变。这种方法没有在操作系统镜像中插入陷阱,其只是被动地监控硬件事件,所以,这种方法在监控虚拟机事件的范围、干预具体事件的能力方面比不上前面3种监测方法。但是比较而言,体系结构监控方法对云监控来说已经足够。

通过对几种方法的比较分析,可给出云计算提供商如何选择内部监测方法的判断原则。就健壮性和对被监控虚拟机影响的程度来看,体系结构监控方法有很好的性质,通过设计体系结构监控方法,能使其监控操作系统更多的方面。如果用户信任安装在虚拟机上的监控代理,也可采取第一种方法。有时将几种方法同时使用,会取得更好的效果。