存储和数据库集中监控的实现
2017-07-05杨泳丹
杨泳丹
摘 要一直以来,我们的IT运维人员都被各种突发的故障所困扰,怎样监控?能不能现对底层和应用的集中监控,从而实现对故障的有效管理呢?今天我们将就这个问题做出重点探讨。
【关键词】存储 数据库 集中监控
1 集中监控需求的产生
想必IT管理人员都考虑过这样的问题,当业务端抱怨客户投诉业务处理速度慢,响应时间长的时候,我们怎样能迅速排查性能瓶颈究竟在哪里,并迅速恢复业务呢?现在似乎有了新的思路,至少我们的运维人员可以第一时间排查存储和数据库的性能情况并且及时了解相关告警情况,以便对下一步的响应做出正确的计划。
2 存储厂家和数据库厂家对集中监控的尝试
日前,存储界的领头羊EMC公司推出了支持Oracle数据库性能监控的OEM插件,不光是可以监控数据库的性能,也能清晰明了的展示对应存储的性能情况,展示内容包括存储可用性,性能,配置信息,并将这些存储实时信息推送到Oracle Enterprise Manager,通过web界面集中展示,从而实现集中监控。下面我们具体看看其大致原理和实现方式。
2.1 EMC不同级别存储的数据采集策略:
针对Vmax、VNX、EMC XtremIO,数据采集的策略不尽相同,后面我们再联系了解一下。
至于存储和数据库的对应关系,有一个安装在每个数据库服务器的小组件将负责采集并处理相关信息,这样我们就可以明确了解数据库用到了哪些存储的LUN。所有这些信息都储存在OracleManagement Repository (OMR) ,并通过UI可以轻松的监控到存储和数据库的性能数据。
2.2 架构和原理
首先我们看看Oracle Enterprise Manager 的架构:
图1显示,Oracle Management Server (OMS) 和 Repository (OMR)是Oracle Enterprise Manager的两个主要组成部分。而Oracle Management Agents (OMAs)则部署在需要被管理的所有主机上。同时,这个plug-in插件有Oracle工程师或第三方人员安装在OMA上并运行,实现对app,主机,数据库和其它组件的集中监控和管理。
EMC存储插件的逻辑架构如图2。
该插件的UI运行在数据库管理服务器上,同时负责数据采集的组件则运行在不同数据库和不同主机上。这些组件可以部署在虚机上,也可以部署在物理机上,这完全取决于系统管理员。
下面我们一起看看更详细的Plug-in组件的分布和工作原理如图3。
我们姑且把从存储端收集上来的数据包称为一个target。安装此Plug-in的主机上存在一个Home target,它是所有target的父target,负责管理其它所有配置的target。Target的数量取决于你想监控的存储的型号,例如Vmax归为一类targer,VNX Block 归为一类,VNX file归为一类,XtremIo归为一类。配置一类target可以从该类存储采集相关数据和信息并提供给home target。一旦配置好某类target后,home target就可以获取该类存储的信息和性能数据并做集中展示。数据库方面的target称为database storage target,配置成功后可以展示数据库级别的相关信息,包括该数据库用到的对应存储的Volume(Lun)的性能数据。这些target和诸多small target(物理映射通用target)相互通信,以提供指定存储单元的相关数据(包括性能)。
注:相比较于物理映射通用target,还存在虚拟映射通用target,它用来提供VM虚机的VMDK存储单元信息和数据。
图4展示了该Plug-in插件中包含的所有种类的target的架构关系及其对应的安装位置,这是一个典型的架构安装示意图,但是你仍然可以修改它的架构如果你采用分布式安装。
2.3 不同类型存储数据采集架构的比较
下面我们看看针对不同类型的存储,数据采集的方式的比较:
收集针对Vmax的相关数据,必须借助事先安装并配置好的Unisphere for VMAX (U4V)。Unisphere for VMAX提供了一个名为REST的app,用来获取在U4V中配置的Vmax 存储系统性能和配置信息。另外,前面我们也提到过,Plug-in同时也利用EMC Solution Enable提供的命令行方式,用一些命令的组合(类似批处理)来抓取Vmax中必要的数据。两种方式互为补充,由Plug-in自动调用。
VNX Block:
針对VNX Block,由Plu-in直接创建的和该类存储的处理器之间的连接,这个连接是由Navisphere Secure Command Line Interface (NaviSecCLI)直接创建,用来采集VNX Block的相关信息及数据。所有的VNX Block存储对应到一个VNX Block storage target。
VNX File:
VNX File的数据采集方式则完全不同,通过Secure Shell(SSH)协议,Plug-in直接从管理和监控该存储的control station上采集数据。同样,所有的VNX File存储对应到一个VNX File storage target 。
EMC XtremIO:
该类存储使用了本地的EMC XtremIO Management Server (XMS)来进行管理,Plug-in随即利用XMS来采集相关数据。利用XMS强大的REST API,XtremIO Storage target 采集该类存储的监控数据并将数据转回到Oracle Management Agent (OMA)处理。
2.4 Plug-in的安装部署
这个环节比较简单,就不一一赘述,建议大家在安装时最好从EMC官网上下载相关手册,注意一下各组件和操作系统以及oracle版本的兼容关系即可,以保证安装顺利进行及其稳定性。
2.5 Plug-in的使用
这里主要介绍一下该Plug-in的主要界面及主要功能,涉及到各类具体存储的界面和功能其实大同小异,就不一一列举。
我们先看看主界面:
EMC Home target 包含了一个主页和一个配置页面,主页包含了以下功能:
Storage:在图示的左上角,利用这个菜单我们可以监控到存储的读写IO和吞吐量的情况,并有时间周期可供选择,例如按日,周,月;
Database Storage:按照target选择展示内容和范围;
Database:通过该链接可以查看Oracle database target;
Storage:通过该链接可以查看EMC database storage target;
Array:通过该链接可以查看storagetarget。
EMC Database Storage 页面:
该页面可以展示oracle数据库以及和数据库对应的存储单元的相关数据,具体功能模块如下:
Hierarchy:从多个层级(维度)展示运行数据库的各设备,例如主机,数据库,盘阵;点击某图表即可查看对应target;
Storage:利用这个菜单我们可以监控到存储的读写IO和吞吐量的情况,并有时间周期可供选择,例如按日,周,月;
Database:从标准的数据库插件抓取数据并展示对应的性能信息,并且用作和Storage功能区中的数据做比对;
Incidents and Problems:事件和异常告警的监控会在此处列出,同时这些事件和告警信息也会转送到对应的数据库target中。
3 总结
作为运维人员都清楚的意识到,存储是底层的核心,而数据库是应用的核心,这两方面的高可用一直是运维工作的重心,而监控工作更是首当其冲的环节。EMC针对Oracle数据库提供的Plug-in插件虽有其局限性,比如目前只支持EMC的主流存储,数据库也只支持Oracle,但是这种集中监控的方式和设计理念无疑为我们众多的运维工作者提供了新的思路,为今后运维工作的效率提高,监控手段的增加都起到了添砖加瓦的作用。
作者單位
云南电网有限责任公司 云南省昆明市 650000