服务器虚拟化越来越多的为企业所采纳,对虚拟化环境的服务器进行有效的集中监控,已经成为企业IT管理的一个重要难题。本文主要介绍使用IBM Tivoli Monitoring(以下简称ITM)VMware VI监视代理程序对基于VMware产品的企业级虚拟化环境进行集中监控。
文章主要包括如下几个方面的内容:
• VMware 企业级虚拟化环境对集中监控管理的需求;
• ITM VMware VI Agent对虚拟化环境集中监控的部署架构;
• ITM VMware VI Agent的安装和配置;
• 部署和配置中可能的问题解决和经验总结。
1. VMware 企业级虚拟化环境对集中监控管理的需求
随着企业的成长以及业务和应用的不断增加,IT系统规模日益庞大,带来高能耗、数据中心空间紧张、IT系统总体拥有成本高的问题;而现有服务器、存储系统等设备又没有充分被利用起来,资源极度浪费。这就使得企业将目光投向了虚拟化技术,大量基于VMware虚拟化技术的环境开始在IT部门部署。这同时带来了另外的一个问题:如何对虚拟化环境的服务器进行有效的集中监控?
虽然VMware vCenter提供了对它所管理的ESX服务器的监控管理,但是对于一个大型的虚拟化环境,一般会有多达几千个虚拟机运行在多个vCenter的管理环境中,对此虚拟环境的集中管理,已经成为企业IT管理的一个重要难题。
ITM是一套完整的集中监控解决方案,它提供了从一个或几个指定工作站监视企业中所有系统的可用性和性能的方法,监视和管理各种操作系统中的系统和网络应用程序,并提供报告以跟综趋势和对问题进行故障诊断。对于VMware虚拟化环境,ITM提供了VMware VI监视代理程序,负责收集服务器性能数据提供给ITM进行统一管理。
2. ITM VMware VI监视代理程序对虚拟化环境集中监控的部署架构
2.1 ITM VMware VI 监视代理程序基本体系结构
VMware VI Agent作为ITM部署环境的一个代理监视组件,负责收集有关VMware ESX服务器和虚拟机的内存、CPU、系统、磁盘和网络使用情况的监视信息。同时还提供启动和停止虚拟机,历史数据记录和事件监视的功能。其基本体系架构如图1中所示:
图1 ITM 软件中代理程序的基本体系结构
#p#
2.2 Monitoring Agent for VMware VI环境部署
图2中展示了ITM VMware VI Agent在虚拟化环境和监控环境中的部署。VMware VI Agent作为监视代理程序,通过SSH从VMware vCenter收集信息,并发送给Tivoli Enterprise Monitoring Server(TEMS),保存到Tivoli Data Warehouse里,Tivoli Enterprise Portal Server(TEPS)为用户提供Portal访问界面,展现虚拟化环境的监视情况。
图2 ITM VMware VI Agent 部署架构
3. ITM VMware VI Agent安装和配置
3.1 Monitoring Agent for VMware VI安装步骤
本文以Windows 2008 R2环境为例介绍VMware VI Agent的安装步骤。 VMware VI代理监视程序的安装和普通的Windows下应用程序的安装类似,执行setup.exe程序,然后按照界面说明依次进入“下一步”,其中两个主要的步骤需要特别注意。
1) 如图3所示的密钥输入界面,用户需要输入一个32位字符的密钥,这个密钥必须是和监视代理(VMware VI Agent)要连接到的监视服务器Tivoli Enterprise Monitoring Server(TEMS)安装时同样的密钥。可以联系TEMS的安装人员获得密钥。
图3 Monitoring Agent for VMware VI密钥输入界面
2) 如图4所示的组件选择界面,用户需要选择“Tivoli Enterprise Monitoring Agent Framework”和“Monitoring Agent for VMware VI”两个组件。如果用户使用的是64位的环境,需要选择带有“86-x64 only”的组件。
图4 Monitoring Agent for VMware VI组件选择界面
#p#
3.2 配置VMware VI监视代理程序
1. 在VMware Virtual Infrastructure中创建用户标识。
VMware VI Agent使用此用户标识与VMware vCenter进行通讯。监视代理程序需要对受监视的数据源队形有System.View和System.Read的特权的用户标识。要在监视代理程序中启用PowerOnVM和PowerOffVM的命令,该用户还应该拥有Virtual Machine-Interaction-Power On和Virtual Machine-Interaction-Power Off的特权。
2. 将该数据源的SSL证书添加到代理程序的证书信任密钥库中。
1) 将SSH证书文件复制到代理程序计算机上。(缺省的VMware vCenter的SSH证书文件名为rui.crt,缺省情况下存放在C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\SSL)
2) 将SSH证书文件放到您选择的目录中。不要覆盖证书文件,为每个证书使用唯一的文件名并使用唯一的标签。
3) 使用keytool命令将数据源证书添加到代理程序的证书信任密钥库:
keytool -import -noprompt -trustcacerts -alias CertificateAlias -file CertificateFile -keystore Truststore -storepass TruststorePassword
其中:
CertificateAlias
添加到代理程序证书信任密钥库中的每个证书的唯一引用。例如,来自datasources.example.com的证书的相应别名为datasource。
CertificateFile
要添加到信任密钥库的VMware数据源证书的完整路径和文件名。
Truststore
VMware VI Agent证书数据库的完整路径和文件名。请使用以下路径和文件名:
• Windows(32 位): install_dir\tmaitm6\kvm.truststore
• Windows(64位): install_dir\tmaitm6_x64\kvm.truststore
• Linux(32位): install_dir/li6263/vm/etc/kvm.truststore
• Linux(64位): install_dir/lx8266/vm/etc/kvm.truststore
TruststorePassword
ITMVMWAREVI是VMware VI Agent信任密钥库的缺省密码。
命令实例:
keytool -import -noprompt -trustcacerts -alias VSPHEREVC01 -file vc01.company.com.crt -keystore kvm.truststore -storepass ITMVMWAREVI
注意:要使用keytool命令,Java运行时bin目录必须位于路径中,可使用下列命令设置:
Windows(32位):set PATH=%PATH%;install_dir\CNPSJ\java\bin
Windows(64位):set PATH=%PATH%;install_dir\CNPSJ\java\bin
Linux(32位):PATH=”$PATH”;install_dir/JRE/li6263/bin
Linux(64位):PATH=”$PATH”;install_dir/JRE/lx8266/bin
#p#
3. 使用监视服务管理界面配置VMware VI 监视代理 。
1) 启动“Manage Tivoli Enterprise Monitoring Services”。
Start ? All Programs ? IBM Tivoli Monitoring ? Manage Tivoli Monitoring Services
“Monitoring Agent for VMware VI”服务将显示在主界面中,只是上面所安装的监视代理的模板。
2)点选“Monitoring Agent for VMware VI”,右键菜单中选择“Advanced”? “Configure Advanced ...”弹出如图5所示的Vmware VI监视代理配置界面,保持使用IP.PIPE作为默认协议,输入TEMS server的主机名或IP地址,使用默认端口1918,然后点击确定。
图5 VMware VI监视代理配置界面
3)输入一个唯一的名称作为新建监视代理的实例名称,然后确定。如图6中所示
图6 VMware VI监视代理实例名称输入界面
4)如图7所示的数据提供程序选项卡界面,用户可以设置如下的内容:
监视代理实例名称、是否在使用SSL进行网络通信时需要代理程序验证SSL证书、数据提供程序日志文件***数量、每个数据提供程序日志的***大小(以KB为单位)、数据提供程序日志中详细信息的级别。
图7 VMware VI监视代理数据提供程序选项卡
5)进入数据源选项卡界面,点击新建按钮,新的配置清单显示在主界面,如图8中所示。用户可以为每个Vmware VI Agent实例定义多个数据源,并可以在远程监视主机系统上配置监视代理程序的多个实力。一个实例可以监视所有Vmware Virtual Infrastructure,也可以定义不同的实例来监视特定组。用户可以设置如下的内容:
数据源标识:此数据源的唯一标识。
数据源主机名:代理程序从中收集监视数据的数据源。可以是vCenter或ESX主机。
使用到数据源的SSL连接:限制为“是”或“否”,这里要选择“是”。
数据源用户标识:在***步中创建的VMware Virtual Infrastructure用户标识。
数据源密码:上面用户标识指定的密码。
图8 VMware VI监视代理数据源选项卡
6)点击确定后,新创建的代理程序实例出现在服务管理界面列表中。用户可以重复上面的步骤来创建多个监视代理实例。选择代理实例,点击工具栏的启动按钮或者从右键菜单选择来启动。启动的多个监视代理实例如图9所示。
图9 多个VMware VI监视代理实例的服务管理界面
7)VMware VI监视代理程序配置完成,用户可以登陆到ITM门户界面(TEPS)查找到受监视系统的性能信息。一般是在http://hostname:1920///cnp/kdh/lib/cnp.htm。效果如下图10中所示。
图10 VMware VI代理监视结果界面
#p#
4. 部署和配置中可能的问题解决
4.1问题验证途经
1. VMware VI Agent中主要的故障诊断功能部件是日志记录,几个主要日志文件如下:
• VMware VI Agent日志:
文件:hostname_vm_instance_HEXtimestamp-nn.log
• VMware VI数据提供程序日志:
文件:hostname_vm_kvmviclient_HEXtimestamp-nn.log
• 文件:hostname_vm_kvmagent_HEXtimestamp-nn.log
路径:install_dir\tmaitm6\logs
2. 对于某个监视代理实例的连接问题,可以直接从管理代理服务的界面,选择相应的实例,在右键菜单中选择“Advanced”> “View Trace Log …”,然后选择相应的日期的日志,先是如图11所示的信息。
图11 VMware VI代理实例日志浏览界面
4.2常见问题
1. Monitoring Agent for VMware VI agent无法连接,或无法再连接到ESX Server数据源。
解决方法:
ESX Server hostd进程可能已停止,在ESX的Service Console界面,使用service vmware-mgmt restart命令重新启动hostd进程。
2. 在ITM门户界面导航树中只显示***节点,不显示任何ESX Server子节点。
解决方法:
1) 如果日志中没有显示系统发生SSL错误,验证KFW_TOPOLOGY_MUST_USE_FULL_NAME_AFFINITIES环境变量是否已经添加到TEPS环境配置文件中,确定TEPS已重新启动。
2) 如果日志中有一行显示系统发生SSL错误,验证数据源证书是否已经添加到代理程序的证书信任密钥库中,可以使用keytool –list命令查看已添加到代理程序的证书信任密钥库中的证书。
keytool -list -v -keystore %CANDLE_HOME%\tmaitm6\kvm.truststore -storepass ITMVMWAREVI
5. 总结
虚拟化环境中服务器的集中监控,可以使用ITM的监视代理程序来实现。监视代理程序负责从虚拟环境中的不同服务器取得相应的性能数据,并将这些数据发送给TEMS,并保存在ITM的数据仓库里。有了这些性能数据,用户可以使用Cognos对性能进行数据挖掘处理,根据具体的需求生成所需的商务智能(Business Intelligence)报表,从而帮助用户更好地利用数据,提高决策质量。
IBM Tivoli Monitoring for Virtual Servers不仅包括对VMware虚拟化环境进行监视的代理程序,同时还提供了对Citrix虚拟化环境和NetApp Storage的监视代理程序,完整的IBM Tivoli Monitoring for Virtual Servers产品包括如下的监视代理程序软件:
• IBM Tivoli Monitoring for Virtual Servers: Citrix Agent
• IBM Tivoli Monitoring for Virtual Servers Agent for NetApp Storage
对于监视代理程序,在规模比较小的部署环境中,只要系统的容量足够,VMware VI Agent可以与vCenter安装在同一个系统上;对于有多个vCenter的大规模环境,需要将多个监视代理程序部署多个独立的服务器上,并且连接不同的TEMS服务器,同时尽量选择与vCenter系统极为接近的服务器,以确保数据收集具有更高的可用性。
作者简介:
史会卿,x86平台虚拟化专家
任职于某大型外资IT企业,从事x86服务器的虚拟化工作。熟悉主流的虚拟化技术、IBM System x系列服务器、IBM DS4000/5000系列存储器和IBM Tivoli相关软件产品。曾部署基于VMware View的桌面虚拟化环境,同时为企业内部提供服务器虚拟化的方案设计、部署、优化及技术支持。同时参与部署了多个基于Tivoli产品的管理项目。
实践经验丰富,熟悉虚拟化环境的设计、部署和优化等。对于IBM Tivoli系列产品技术具有深入研究。
【编辑推荐】
- 用VMControl V2.2优化Power Systems
- Systems Director VMControl是什么?
- 谁家虚拟化更***?IBM对比VMware
- 实战:IBM Systems Director VMControl安装攻略