使用System Center监控Windows Azure 2013.11.26更新

Windows Azure提供了强大的计算、存储、网络能力。另外,Azure也提供了基本的监控管理能力。比如,在每个服务的仪表盘页面,用户都可以看到当前服务的运行状态和一些基本的性能指标,也可以定义简单的报警策略。不过,对于运营人员来说,这些运维监控能力稍有不足,为了实现专业化的运维,我们可以借助第三方工具。


第一类工具,是专门为Azure提供监控服务的第三方服务。他们是Azure的合作伙伴,把这种增值服务集成进了Azure的应用商店里面,Azure用户可以通过“外接程序”进行这些增值服务的订购。这些服务包括:MetricsHub的Active Cloud Monitoring, AppDynamics, New Relic等。目前,国内用户无法订购这些外接程序(如果是进行虚拟机的监控,可以借助国内的一些监控SaaS服务,比如监控宝),所以,我们可以考虑第二种方案


第二种方案,就是System Center. 熟悉Windows Server的用户对System Center一定不会陌生,因为它是Windows Server的专业管理工具。System Center是一个产品家族,它包含了监控管理、配置管理、虚拟化管理、安全管理、服务管理等一系列产品。System Center也是微软私有云的核心,可以管理HyperV虚拟化,并提供自服务、虚拟机监控等功能。


目前,System Center也提供了对Azure的支持。对于已有Windows Server设备的用户来说,使用System Center不仅可以管理自有的设备,还可以管理云端的资源,实现混合云的统一管理,是大中型企业的理想选择。对于小型企业来说,由于业务系统可能都迁移至云端,因此不需要本地的系统,使用System Center可能就不太经济了,而第一类工具可能更适合一些。



下面,我们就看一下System Center提供的具体功能,以及如何进行配置。


System Center与Azure的集成主要体现在两个产品:

  • Operation Manager(SCOM). 该产品主要用来进行监控,支持OS、网络、中间件和应用的监控。针对Windows Azure, SCOM提供了对云服务和虚拟机的监控。SCOM可以检查用户云服务、虚拟机、数据库的运行状态和性能指标,可以定义报警条件(如宕机、CPU超标),并以邮件、短信、IM进行报警。该产品目前同时支持国内和国外的Azure
  • Application Controller(SCAC). 该产品主要进行虚拟资源的部署和管理。通过该产品,用户可以在本地HyperV资源池和Azure上部署虚拟机或者云服务,可以变更虚拟机的运行状态,调整虚拟机配置。该产品暂时不支持国内Azure

简单来说,以上两个产品一个用来监控,一个用来资源变更。有了以上两个产品,用户就不需要登录Azure门户,也不需要登陆本地Windows,实现所有资源的统一部署、统一变更、统一监控。


下面,我们来从0开始进行System Center的部署。我们将在Windows Azure上部署System Center,而微软提供了System Center 2012的免费试用,因此一切都变的很简单。

由于SCOM和SCAC是相互独立的,下面的步骤中,大家可以选择完成SCOM或者SCAC的部署

1. 准备基础环境和安装包

部署SQL虚拟机

首先,System Center 2012需要SQL Server。我们从Azure上部署一个SQL Server 2012 SP1 on Windows Server 2012的虚拟机,虚拟机规格选中型

下载System center 安装包

部署完成后,登陆虚拟机。首先我们要修改IE配置,降低其安全限制,能够下载文件。在虚拟机自动弹出服务管理工具上,点击“IE enhanced security configuration” 后面的On

在弹出的对话框中,将选项都改为Off

接下来,需要下载System Center 2012 SP1安装文件。前往该地址http://technet.microsoft.com/zh-cn/evalcenter/hh505660.aspx?wt.mc_id=tec_103_1_33

另,最近微软发布了System Center 2012 R2,地址是http://www.microsoft.com/en-us/server-cloud/products/system-center-2012-r2/default.aspx

以上两个都可以,下面的步骤为2012 SP1

目前微软提供免费6个月试用。点击"Get started Now"。在后续的步骤中,选择语言为中文

接下来,等待IE准备下载过程。在页面底部,IE会弹出一个对话框,要求安装Download Manager,点击Install

接下来,IE就开始下载过程了。我们发现IE下载了所有的产品包。实际上我们只需要三个包:SCAC, SCOM, SCVMM。其他的都可以取消

下载完毕后,分别运行三个exe文件,它们会分别提示解压缩。我们把他们各自解压到相应的目录

2. 准备Domain Controller

接下来,进行安装前的准备。System Center需要在域环境中安装,我们要在虚拟机中配置一个域控制器。我们回到服务器管理器,在管理菜单中选“添加角色和功能”

在对话框中按默认项点下一步,直到下页。选中Active directory domain service和Web Server(IIS)

继续下一步至安装完成。服务器管理器提示:configuration required. 它要求我们配置域。点击右侧的“More”

在下面的表格中,点击右侧的带下划线文字

接下来会弹出域配置对话框,选择“add a new forest”,然后在下面输入一个域的名称,比如xxx.com

等待一会儿,然后在密码框中输入一个密码。继续至安装完成。

域配置完毕,重启服务器

3. 准备Azure证书

SCAC和SCOM对Azure的所有管理是通过REST API完成的,而认证是通过证书。我们需要为SCOM和SCAC准备一个证书。

制作证书

证书的创建可以利用IIS。打开IIS管理界面,然后进入“服务器证书”页

点击右侧的创建自签名证书。

给证书起一个名字

按默认项继续,直至结束,我们会在IIS中看到证书已经生成

打开控制面板,在搜索框中输入“证书”,点击左侧的“管理计算机证书”

在出现的证书管理器中,我们可以看到刚才生成的证书。右键该证书,选择导出

首先导出私钥。在对话框中选择“导出私钥”

为私钥提供一个保护密码

选择一个导出路径,然后导出。在目标路径上,会得到一个pfx文件

接下来,再次进行导出,这次只导出公钥。

导出后,得到一个cer文件

上传证书至Azure

下面,将公钥导入Azure,而私钥保留在本地。这样,两地的公私钥配对就形成了。

在Azure门户的设置-〉管理证书页,点击底部的“上载”

选择刚才导出的公钥上传。

上传结束后,可以看到该证书。拷贝下该证书对应的“订阅ID”字符串


4. 安装System Center Application Controller

在继续安装前,可能我们希望使用中文界面。可以参考http://blog.csdn.net/shaunfang/article/details/8933509查看如何汉化Azure上的Windows

SCAC需要先安装SCVMM的Console组件。

安装SCVMM

打开刚才解压的目录,进入SCVMM目录,运行setup。在面板上点击“安装”

选择VMM控制台。继续按默认项安装,直至安装结束

安装SCAC

接下来安装Application controller. 进入SCAC解压后的目录,执行setup. 产品密钥保持为空,系统按评估版继续。

按默认项进行安装

在网站配置页,选择一个IP地址和证书,然后继续。

等待安装结束

5. 配置Application Controller

打开浏览器,用HTTPS访问本机IP地址。跳过证书验证。

IE提示要按照SilverLight,按要求安装

然后重启IE,重新访问本机IP。此时可以进入登陆界面。输入用户名密码。由于我们已经把本机升级为域控制器,因此我们需要用域用户登录。在用户名之前加上域的名字和斜杠即可,密码跟之前一样。

登录后可以看见Application controller的界面。

接下来需要连接Azure到SCAC。

回到SCAC的页面,进入subscription页,点击右侧的“Add”

输入Azure订阅名、订阅ID,选择刚才导出的私钥,输入私钥保护密码。点击确定。

如果成功,说明连接Azure成功。如下图所示

按照这个步骤,可以导入多个Azure订阅

6. 使用Application Controller

SCAC左侧的菜单项分别是:云服务管理、虚拟机管理、镜像库管理。而这些内容对私有云和Azure都是可以工作的

虚拟机管理

点击菜单Virtual machine,可以列出当前已管理的所有Azure虚拟机,以及本地所有HyperV虚拟机

在右侧的菜单栏中,用户可以进行虚拟机的部署、关闭、重启、打开远程桌面、删除等操作

下面进行一个简单的部署操作。点击Deploy后,系统弹出一个对话框,要求选择一个OS镜像。这个镜像列表与Azure门户上的是一样的

接下来需要选择一个对应的部署。如果我们用过云服务,我们会知道每个云服务对应两个部署,分别是生产和过渡。我们在Azure门户上创建虚拟机并不需要选择“部署”这个选项。而在SCOM上,稍有区别。实际上对于虚拟机服务和云服务,Azure的管理方式是相同的,都是采用云服务->部署->虚拟机(1-N))这样的结构,Azure在后台会为每个虚拟机绑定一个云服务和一个部署。在SCOM上,我们就需要按照这个结构去一步步部署虚拟机。在下面对话框中列出的,是之前创建好的虚拟机生成的云服务。如果选择已有的云服务,新建的虚拟机就会和原有虚拟机组成集群,共享VIP,这和在门户上部署虚拟机时选择“连接到虚拟机”是一样的效果。如果我们希望有独立的VIP,那么需要创建一个新的云服务,可以点击下面的Create按钮

选定云服务后,系统为这次的虚拟机部署生成了一个部署架构图。我们可以清晰的看到部署结构:云服务->部署->虚拟机。对于结构的每一层,都需要指定相应的参数,我们一次点击每一层的configure进行参数的设定,比如网络配置、磁盘配置等。与真实云服务不同的是,我们不需要上传cspkg软件包,因为我们的部署对象就是虚拟机本身。

云服务管理

接下来看云服务的管理。点击左侧菜单Service,可以列出当前所有的云服务。我们发现虚拟机对应的云服务也被列了出来。我们可以进行标准云服务的部署、升级等操作

镜像管理

在Library界面,我们可以看到Azure存储账号下所有的文件、磁盘、OS镜像。我们可以进行文件的拷贝、删除,可以进行镜像的部署。

我们还可以在本地镜像库和Azure库中进行镜像和磁盘的相互拷贝。下面的界面,就是用来定义磁盘,可以从本地导入,也可以从Azure的存储库中导入

7. 部署Operation Manager

进入下载的安装包SCOM目录,运行setup。在对话框中,点击“安装”

在组件选择中,选管理服务器和操作控制台即可,一个是后台,一个是前台。

系统提示缺少组件,我们点击右侧的链接进行安装。

随便输入一个组名称

在数据库服务器的位置,输入localhost(因为我们本机就有sql server),然后点击下一步

数据仓库页,同上

账户页,这里我们需要配置账户信息。我们需要转到域管理部分创建用户。

打开服务器管理器,在工具中选择Active directory 用户和计算机

在Users中,新建一个用户。输入用户名,比如SCOM

下一步设置密码,然后选上“密码永不过期”

创建完成后,将用户加入administrators组,赋予权限

回到SCOM的安装界面,输入刚才创建的用户名,注意要带上域名称

然后按默认项继续安装,直至安装结束

8. 使用Operation Manager监控Azure云服务、虚拟机、存储

接下来,我们需要安装SCOM的Azure扩展。

下载SCOM的Azure扩展

首先下载“System Center Management Pack for Windows Azure”,下载地址在http://www.microsoft.com/en-us/download/details.aspx?id=38414。当前版本日期是13年10月



下载的文件包括两个,一个是安装包,一个是安装手册。


通过阅读安装手册,我们发现该版本支持如下特性:

  • 云服务、虚拟机、存储账号、SQL数据库自动发现
  • 云服务性能、可用性监控
  • 云服务自动伸缩
  • 虚拟机可用性监测
  • 存储账号可用性和使用空间监测

可见,该版本对于云服务监控支持较好,但对虚拟机和存储支持仍然一般,无法进行性能监测。

下载完后,执行那个MSI文件,它会执行解压缩,得到一个目录(C:\Program Files (x86)\System Center Management Packs\System Center Management Pack for Windows Azure)。其中.mpb就是SCOM的扩展包,有两个


安装Azure扩展包

下面开始运行SCOM。在开始界面,找到SCOM的入口:Operations Console

启动后,在左下角菜单中点击“管理”,在左上角的菜单中,右键“管理包”,然后选择导入管理包

在导入列表上点击添加-〉从磁盘添加,然后找到刚才下载的MPB文件位置,选中两个MPB文件。点确定。这样,两个扩展包都安装完成


安装完成后,在页面左侧最下方可以看到Windows Azure菜单项,这说明安装成功


导入Azure订阅

下面继续导入Azure订阅。导入订阅后,SCOM就可以自动发现该订阅内的所有服务。导入前,需要按照我们在本文的第三章介绍的方法,生成私钥和公钥,然后把公钥上传到Azure门户

之后,点击“管理页”最下的WindowsAzure,在右侧点击“添加订阅”,这会弹出一个对话框


这里的证书和密码就是之前准备的私钥证书文件,和私钥保护密码。而第一项订阅ID,需要从Azure门户获得。

登录Azure门户,在设置-》管理证书里面,可以看到证书列表,这里就是我们之前导入证书的位置。找到之前上传的证书的“订阅ID”那一列,拷贝ID字符串,填入上面的对话框


SCOM缺省将监控Azure国际版的监控端口,如果我们要监控国内版,需要点击“高级”,然后修改4个URI,如图所示。把所有的windows.net替换为chinacloudapp.cn。其他的不用变。点击确认



点击下一步,选择server pool为All management servers resource pool。然后在下一步等待创建完成。

如果证书和URI都定义正确,我们可以在SCOM的监控页,找到Windows Azure图标,并且呈现如下结构


点击Azure resource inventory->discovered virtual machines,应该可以看到该订阅下所有的虚拟机


需要注意的是,导入订阅后,SCOM会自动发现所有的资源,包括云服务、虚拟机、存储、SQL。如果等待几分钟后仍然无法发现资源,则可能是网络或者证书的问题,需要重新定义订阅


监控虚拟机、存储

前面在安装手册后,我们发现该管理包对存储和虚拟机也提供监测,不过主要在可用性层面,在性能方便无法监控,这一点有待新版本改进

导入订阅后,SCOM不会自动开始监控所有的Azure对象。我们需要定义我们要监控哪些。进入“Authoring”页,点击左侧底的“Add monitoring wizard”图标,然后,选择“Windows Azure Monitoring”,在第二步,填入一个名字,然后选择一个管理包(可以选择缺省),第三步,选择要监控的订阅,第四步,选择要监控的云服务(如果没有配置,可以跳过),第五步,选择要监控的虚拟机,第六步,选择要监控的存储账号。然后点击确认。

这样,我们就完成了对虚拟机和存储的监控配置。我们可以进入“监控”页,监控虚拟机和存储。


监控云服务

SCOM对Azure云服务的监控,基于云服务的诊断信息。其原理是,云服务的诊断模块会将各种日志、性能数据发送到一个存储账号,然后SCOM去读取这个账号下面的数据,再在界面上呈现。在SCOM对云服务开始监控以前,我们必须对被监控的云服务进行配置。配置是在发布云服务时进行的。

打开Visual studio的云服务属性,找到要监控的Role的配置。在诊断部分,选中“启用诊断”,自定义计划,并指定一个存储账户用来存放诊断信息

点击自定义计划边上的编辑,在每个子页面中将要捕获的信息尽量都选上:日志级别为详细,传输间隔为1分钟,缓冲区大小为100M或1G

在性能页,选中要监控的性能数据,主要包括CPU、内存、网络等

然后就可以发布云服务。

在配置了诊断的云服务发布并产生诊断信息后,我们才能在Authoring页的Add monitoring wizard页面里面,看到这些云服务。将它们添加后,我们在Monitoring页的Monitored Azure resource里,就可以进行云服务各种数据的监控


9. 使用Operation Manager监控Azure虚拟机性能

前面介绍过,目前Azure管理包无法监测虚拟机性能。这时我们可以借助SCOM传统的OS性能监控方法。

这种监控跟SCOM监控普通的server没有什么区别,它有两种监控方式:agent和agentless-

  • Agent需要安装一个包到被监控对象,SCOM需要被监控对象与它位于同一个域,因此需要改变被监控对象的域配置
  • Agentless需要被监控对象开通SNMP服务

无论哪种方式,SCOM与被监控对象都需要许多网络上的交互,因此SCOM的部署方式建议两种:

  • 部署在云端。不过这样就没法监控本地机房的数据
  • 部署在本地机房,本地机房通过VPN连入Azure
具体的配置可参考SCOM相关手册


10. 使用Operation Manager监控Azure SQL数据库

SCOM提供了另外一个扩展包监控SQL数据库。可监控的内容包括:

  • Space monitoring:
    • Used space
    • Free space
    • Total allocated quota
  • Track the total number of databases per server
  • Collects and monitors performance information:
    • Average memory per session
    • Total memory per session
    • Total CPU time per session
    • Total I/O per session
    • Number of database sessions
    • Maximum Transaction execution time
    • Maximum Transaction lock count
    • Maximum Transaction log space used
    • Network Egress/Ingress bandwidth
其安装步骤与第八章类似。

首先下载扩展包“Windows Azure SQL Database Management Pack for System Center 2012”,地址为http://www.microsoft.com/en-us/download/details.aspx?id=38829

然后执行安装文件,得到一个解压后的目录

进入SCOM的管理页,添加管理扩展包,将上面解压后的扩展包导入

进入配置文件页面,找到Windows Azure SQL Database credentials,双击。按照第八章的步骤添加数据库用户和密码,注意在账户类型页,选择简单身份认证

进入创作页,添加数据库监控

选择SQL database

在后续的页面中依次输入数据库名、数据库服务器名、认证配置文件。

定义完成后,就可以监控数据库了。进入监视页->Windows Azure SQL database,即可看到数据库的各种监控信息




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值