简思琪 发表于 2016-5-24 09:17:20

使用System Center监控Windows Azure

  Windows Azure提供了强大的计算、存储、网络能力。另外,Azure也提供了基本的监控管理能力。比如,在每个服务的仪表盘页面,用户都可以看到当前服务的运行状态和一些基本的性能指标。不过,对于运营人员来说,这些运维监控能力稍有不足,目前Azure本身不提供报警功能(更新:自2013年6月13号起,Azure开始提供报警功能),也无法对监控视图进行深度定制。为了实现专业化的运维,我们可以借助第三方工具。
  

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


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

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

  需要注意的是,目前System Center还不支持管理Azure中国区的资源

  

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

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

[*]Operation Manager(SCOM).该产品主要用来进行监控,支持OS、网络、中间件和应用的监控。针对Windows Azure, SCOM提供了对云服务和虚拟机的监控。SCOM可以检查用户云服务、虚拟机、数据库的运行状态和性能指标,可以定义报警条件(如宕机、CPU超标),并以邮件、短信、IM进行报警
[*]Application Controller(SCAC).该产品主要进行虚拟资源的部署和管理。通过该产品,用户可以在本地HyperV资源池和Azure上部署虚拟机或者云服务,可以变更虚拟机的运行状态,调整虚拟机配置
  简单来说,以上两个产品一个用来监控,一个用来资源变更。有了以上两个产品,用户就不需要登录Azure门户,也不需要登陆本地Windows,实现所有资源的统一部署、统一变更、统一监控。

  

  下面,我们来从0开始进行System Center的部署。我们将在WindowsAzure上部署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安装文件。前往该地址http://technet.microsoft.com/zh-cn/evalcenter/hh505660.aspx?wt.mc_id=tec_103_1_33

  目前微软提供免费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的所有管理是通过RESTAPI完成的,而认证是通过证书。我们需要为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),然后点击下一步

http://img.blog.csdn.net/20130608090553375
  数据仓库页,同上

http://img.blog.csdn.net/20130608090713890
  账户页,这里我们需要配置账户信息。我们需要转到域管理部分创建用户。

http://img.blog.csdn.net/20130608090801156
  打开服务器管理器,在工具中选择Active directory用户和计算机

http://img.blog.csdn.net/20130608090846546
  在Users中,新建一个用户。输入用户名,比如SCOM

http://img.blog.csdn.net/20130608090947843
  下一步设置密码,然后选上“密码永不过期”

http://img.blog.csdn.net/20130608090950921
  创建完成后,将用户加入administrators组,赋予权限

http://img.blog.csdn.net/20130608090954187
  回到SCOM的安装界面,输入刚才创建的用户名,注意要带上域名称

http://img.blog.csdn.net/20130608090956781
  然后按默认项继续安装,直至安装结束
8.使用Operation Manager监控Azure云服务

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

  首先下载“System Center Monitoring Pack for Windows Azure Applications”,下载地址在http://www.microsoft.com/en-us/download/details.aspx?id=11324
http://img.blog.csdn.net/20130608101733546
  下载的文件包括两个,一个是安装包,一个是安装手册

http://img.blog.csdn.net/20130608102142359
  下载完后,执行那个MSI文件,它会执行解压缩,得到一个目录。其中.mp就是SCOM的扩展包

http://img.blog.csdn.net/20130608102250781
安装Azure扩展包

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

http://img.blog.csdn.net/20130608102322171
  启动后,在左下角菜单中点击“管理”,在左上角的菜单中,右键“管理包”,然后选择导入管理包

http://img.blog.csdn.net/20130608102402828
  在导入列表上点击添加-〉从磁盘添加,然后找到刚才下载的MP文件位置,选中。点确定

http://img.blog.csdn.net/20130608102857328
  安装完成后,点击左下侧菜单的创作按钮,在左上侧可以看到WindowsAzure Application.这说明安装成功

http://img.blog.csdn.net/20130608102958328
导入Azure订阅

  下面继续导入Azure订阅。SCOM对Azure的监控是以服务为单位的,每个被监控的云服务都必须单独定义在SCOM上。
导入订阅证书

  导入订阅前,我们还是要先定义Azure认证信息,也就是导入证书。我们在本文的第三章已经介绍了证书的准备方法,在本地我们有一个pfx私钥,在Azure上上传了一个公钥。我们要把私钥信息注册在SCOM上
  进入SCOM“管理”页,找到运行方式配置-〉配置文件-〉windows azure run as profile blob,双击打开

http://img.blog.csdn.net/20130608103611812
  在账户页,点击添加
http://img.blog.csdn.net/20130608103718093
  然后继续点击“新建”

http://img.blog.csdn.net/20130608103729984
http://img.blog.csdn.net/20130608103900843

  在认证方式上,选择“二进制”
http://img.blog.csdn.net/20130608105809640

  下一步,选择私钥地址

http://img.blog.csdn.net/20130608103817296
  选中该账户

http://img.blog.csdn.net/20130608104024953
  继续创建至完成

http://img.blog.csdn.net/20130608104153109
导入证书密码

  下面需要定义密码信息。在配置文件列表里,双击Windows azure run as profile password

http://img.blog.csdn.net/20130608104223671
  下面的步骤跟导入证书相同,唯一不同的是,在账户类型部分,选择基本身份验证

http://img.blog.csdn.net/20130608104339031
  在下一页的凭据内,输入私钥保护密码。而账户名称随便填

http://img.blog.csdn.net/20130608104413875
  下面,就可以导入Azure订阅了。
配置云服务

  SCOM对Azure云服务的监控,使用了云服务的诊断信息。其原理是,云服务的诊断模块会将各种日志、性能数据发送到一个存储账号,然后SCOM去读取这个账号下面的数据,再在界面上呈现。为了能够展示监控功能,我们要配置云服务的诊断。
  打开Visual studio的云服务,找到要监控的Role的配置。在诊断部分,选中“启用诊断”,自定义计划,并指定一个存储账户用来存放诊断信息

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

http://img.blog.csdn.net/20130608110419218
  在性能页,选中要监控的性能数据,主要包括CPU、内存、网络等

http://img.blog.csdn.net/20130608110422328
  然后就可以发布云服务。
完成订阅导入

  转入SCOM,在“创作”页面,找到WindowsAzureApp,右键选择添加监视向导

http://img.blog.csdn.net/20130608105057421
  在第一页输入一个监控名,目标管理包选择Default Management Pack. 继续

  输入要监控的服务名,订阅ID,部署,以及刚才创建的证书账户和密码帐户

http://img.blog.csdn.net/20130608110813906
  在下一页的代理页,点击浏览-〉搜索,找到本机,选中。继续

http://img.blog.csdn.net/20130608110856812
  下一步,系统提示说证书信息要进行分发,点击确定

http://img.blog.csdn.net/20130608110903609
  继续

http://img.blog.csdn.net/20130608111117484
  结束后,在右侧可以看到刚才定义的Azure云服务定义

http://img.blog.csdn.net/20130608111120578
监视云服务

  转入监视页,开始Azure监视
  点击Windows Azure->Deployment state,可以看到部署的运行状态

http://img.blog.csdn.net/20130608111448578
  点击Role instance state,可以看见虚拟机实例的状态

http://img.blog.csdn.net/20130608111531406
  点击Performance的各项,可以看见性能数据
http://img.blog.csdn.net/20130608111533984
  SCOM支持多样化的报警策略。Azure扩展包已经定义了一些缺省策略。我们也可以自己定义。具体的方法请参考SCOM相关文档。各种报警会出现在SCOM的界面上,运维人员可以进行相应的处理

http://img.blog.csdn.net/20130608111755312
9.使用Operation Manager监控Azure虚拟机
  这种监控跟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,双击。按照第八章的步骤添加数据库用户和密码,注意在账户类型页,选择简单身份认证

http://img.blog.csdn.net/20130608115852250
  进入创作页,添加数据库监控

http://img.blog.csdn.net/20130608120151000
  选择SQL database

http://img.blog.csdn.net/20130608120154718
  在后续的页面中依次输入数据库名、数据库服务器名、认证配置文件。
  定义完成后,就可以监控数据库了。进入监视页->Windows Azure SQL database,即可看到数据库的各种监控信息

http://img.blog.csdn.net/20130608120410203

  
页: [1]
查看完整版本: 使用System Center监控Windows Azure