主机管理和报表应用
2009-05-12 15:57
288 查看
转载:http://www.gemini5201314.net/tag/grid-control
oracle 从10g 开始已经在OEM 上下了很大功夫,使得管理员可以从web 界面上非常容易的就了解到系统运行的各种参数,cpu ,内存,磁盘, 再加上awr 和ash 报告的, 使得管理员不用在一台一台主机的运行statspack 报告,然后解读. 而它的grid control 则不仅支持了解oracle database 的运行情况,更加可以了解各种运行程序和多主机的信息, 比如Weblogic 的运行情况,e-business suite 的运行情况,OBIEE 的运行情况, 或是另外一台或多台主机的运行情况 , 能够从一个WEB界面上了解这些信息可以很大程度上帮助管理员提高工作效率.
普通的服务器监控软件比如开源的hyperic , nagios 都可以对操作系统的相关信息进行收集,cpu,内存,进程,文件系统,网络信息. 另外就是对某些服务进行监控,对weblogic , tomcat , smtp , apache ,database 进行检查其服务有没有掉线,如果掉线了就赶紧发邮件或短信, 但是对于服务的内部参数并不了解, weblogic 的java 虚拟机大小,连接池状态,环境变量等, oracle的内部报告awr 等。 而在这方面当然还是要由专业厂商来开发,oracle 的grid control , mysql enterprise monitor 都是可以针对自家产品生产出详细的报告.
一台服务器这样很好,两台也很好,但是随着服务器管理数量上升,尤其是达到了上千台甚至上万台,这时候在web 管理界面上就需要更好的操作方式,能够在一个页面上展示多台主机的各方面信息才能真正的帮助到管理员. 这个时候就需要定制.
![](http://www.gemini5201314.net/wp-content/uploads/2009/03/oem2-thumb.jpg)
Grid Control 的页面
上图就是grid control 在一个页面上显示的ash 信息, 但是管理员往往希望在这个界面上做更多的定制,比如一个界面上只显示CPU,System IO , 或是将多个主机的信息放在一个页面里面,或者将不同主机,不同时间段的ASH 的信息通过一个图表展示出来用来做对比.
OEM 可以通过WEB界面管理oracle 数据库,但是并不是每一个数据库都需要安装OEM , 那会耗费更多的cpu,内存,磁盘, 而Grid Control 最大的特色就是通过一个界面可以管理无限多的主机,无论是oracle, OBIEE, SAP , E-Business Suite , Weblogic , Tomcat 等等. 而它管理oracle 并不需要每一台主机上都运行J2EE容器来显示数据库信息, 只需要安装一个grid control agent 就够了,需要的信息agent 发送到中央的grid control 就可以了.
![](http://www.gemini5201314.net/wp-content/uploads/2009/03/oem-architecture-thumb.jpg)
grid control 工作示意图
而报表应用是主机管理一个最重要最重要的方面, 制作报表的功能强弱,交互性的强弱,展示方式的强弱,定制性的强弱,都可以决定主机管理方式的好坏和管理员的工作负载, 不少的主机管理软件都是以perl,python 等语言来收集底层的信息, 管理台的界面则是以cgi, php 等语言来做, 但是php,cgi ,python 等语言并没有一个强力的可以展示报表的框架,很多都是很底层的语言API 来做,这在很大程度上限制了展示方式的强弱和功能的定制化,可以说并没有给管理员一个杀手级的应用.
而在主机管理里面的报表应用我则推荐使用BIRT 来做.
暂且省略在google 上可以搜索到的关于birt 的各种优势,为什么选择BIRT , 不妨先看另一则新闻:
Cisco 是在网络设备制造上最大的公司了,其选择BIRT 作为WEB管理控制台的报表应用我想应该很能说明问题了,以Cisco 需要管理的设备数之巨大,数据量之巨大,管理复杂度之巨大,相信已经是毋庸置疑的,而其管理网络设备的应用方式跟主机管理基本上都是面对一样的问题.
我在之前的 从php 调用birt (http://www.gemini5201314.net/?p=1131) 的文章已经提到如果主机管理的管理控制台是使用php,python 之类的语言已经可以使用birt 来做报表应用了, 应该对不少管理软件的报表应用加强了不少. 而使用java 开发的管理软件像是grid control , hyperic 则在这方面早已拥有天生优势了.
像是普通的cpu,io,磁盘的各种信息自然都不在话下,而grid control 对于展示ash , awr, top session 等oracle DBA 最关心的信息使用图表的方式对于DBA 快速理解这些信息提供了不少的方便,另外像是每个tablespace 使用率,library cache hit ratio 等各种信息都可以在grid control 里面方便的找到.
而hyperic agent 的sigar api 和oracle 插件也可以收集到很多oracle 相关的信息. 象是Physical Reads/Writes , Logical Reads/Writes , User Commits , CPU Total Time , CPU Time Parse , Cache Hit Ratio , Redo Size Generated, Sorts Rows , Disk Space Used 等许多oracle 重要的信息, 有了这些信息你同样可以制造出自己的ash , awr 统计信息.
![](http://www.gemini5201314.net/wp-content/uploads/2009/03/spotlightonunix-thumb.jpg)
Quest 的Spotlight on Unix
上图很漂亮不是吗,能通过非常简单快速的方式展示多台主机的这种信息则会更快的帮助管理员了解系统.
而在成功收集了数据之后,就会有一些新的问题更容易解决了:
列出目前所有主机中工作负载最高的10个, 显示其ash. 然后你在下转到top session. top sql.
显示过去3个月中,physical reads/writes , logical reads/writes 最高的10 台主机.
把不同的主机不同时间段的工作负载进行对比.
显示过去3个月中,磁盘增长率最高的机组,或是目前磁盘使用率达到70%以上的主机,
而这些信息如果没法收集到一个数据库中,就没有办法得出这些报表. 而得到了这些报表之后,管理方式上就会产生一些差异. 比如你能了解下午3点是一个用户高峰,那你统计了工作负载信息最高的主机之后,你自然知道了你的程序在那些应用上繁忙,针对那些繁忙的程序,繁忙的数据库进行优化就行了. 那些经常性使用率不高的主机则可以多一些应用,对主机资源上也更好优化.
再比如磁盘使用上,你能够快速的得到所有的磁盘使用率,使用增长率,你就自然知道了那些磁盘可能会空间不够,并且你知道磁盘历史的使用增长率,你可以预测到什么时间差不多该给哪些磁盘加容量了, 可以从一定程度上避免被动的等到监控软件发现磁盘到达阈值而报警. 主动预测和被动报警在管理上则是完全不一样的.
Grid Control 虽然已经在大规模主机管理上已经走在领导位置,但是各个管理员,各个公司的环境,每个人的使用习惯都是不一样的,在主机管理上是需要越来越多的定制和开发,尤其是报表的分析型需求会越来越多, 展现方式会越来越动态. 相信oracle以后会让开发人员如何在其平台上定制方面下功夫,至少这是一个方向,其他各个服务器监控软件开发商无论是商业的还是开源的都会在展现需求上下功夫,尤其是如何让客户进行定制化的自己开发作为发展方向.
本文图片都不是自己截的,spotlight on unix 来自eygle.com , grid control 来自dba story
参考资料:
http://www.eygle.com/archives/2008/12/dba20_oem_grid_control.html
eygle 谈dba 2.0 和grid control 的使用
http://www.dbform.com/html/2008/547.html
kamus 谈oem 在税务的应用
http://www.ixdba.com/html/y2008/m12/297-oracle-9i-after-performance.html
dba story 谈grid control
http://www.rittmanmead.com/2008/11/28/thoughts-on-obiee-performance-optimization-diagnostics/
mark rittman 谈grid control 管理OBIEE
http://www.actuatechina.com/news_cisco.php
http://www.intelligententerprise.com/channels/performance_management/showArticle.jhtml?articleID=213403848
Cisco 将birt 加入其管理控制台以满足报表数据分析需求
http://www.hyperic.com/products/sigar.html
http://www.hyperic.com/products/oracle-monitoring.html
hyperic 的sigar api和 oracle 插件的功能
oracle 从10g 开始已经在OEM 上下了很大功夫,使得管理员可以从web 界面上非常容易的就了解到系统运行的各种参数,cpu ,内存,磁盘, 再加上awr 和ash 报告的, 使得管理员不用在一台一台主机的运行statspack 报告,然后解读. 而它的grid control 则不仅支持了解oracle database 的运行情况,更加可以了解各种运行程序和多主机的信息, 比如Weblogic 的运行情况,e-business suite 的运行情况,OBIEE 的运行情况, 或是另外一台或多台主机的运行情况 , 能够从一个WEB界面上了解这些信息可以很大程度上帮助管理员提高工作效率.
普通的服务器监控软件比如开源的hyperic , nagios 都可以对操作系统的相关信息进行收集,cpu,内存,进程,文件系统,网络信息. 另外就是对某些服务进行监控,对weblogic , tomcat , smtp , apache ,database 进行检查其服务有没有掉线,如果掉线了就赶紧发邮件或短信, 但是对于服务的内部参数并不了解, weblogic 的java 虚拟机大小,连接池状态,环境变量等, oracle的内部报告awr 等。 而在这方面当然还是要由专业厂商来开发,oracle 的grid control , mysql enterprise monitor 都是可以针对自家产品生产出详细的报告.
一台服务器这样很好,两台也很好,但是随着服务器管理数量上升,尤其是达到了上千台甚至上万台,这时候在web 管理界面上就需要更好的操作方式,能够在一个页面上展示多台主机的各方面信息才能真正的帮助到管理员. 这个时候就需要定制.
![](http://www.gemini5201314.net/wp-content/uploads/2009/03/oem2-thumb.jpg)
Grid Control 的页面
上图就是grid control 在一个页面上显示的ash 信息, 但是管理员往往希望在这个界面上做更多的定制,比如一个界面上只显示CPU,System IO , 或是将多个主机的信息放在一个页面里面,或者将不同主机,不同时间段的ASH 的信息通过一个图表展示出来用来做对比.
OEM 可以通过WEB界面管理oracle 数据库,但是并不是每一个数据库都需要安装OEM , 那会耗费更多的cpu,内存,磁盘, 而Grid Control 最大的特色就是通过一个界面可以管理无限多的主机,无论是oracle, OBIEE, SAP , E-Business Suite , Weblogic , Tomcat 等等. 而它管理oracle 并不需要每一台主机上都运行J2EE容器来显示数据库信息, 只需要安装一个grid control agent 就够了,需要的信息agent 发送到中央的grid control 就可以了.
![](http://www.gemini5201314.net/wp-content/uploads/2009/03/oem-architecture-thumb.jpg)
grid control 工作示意图
而报表应用是主机管理一个最重要最重要的方面, 制作报表的功能强弱,交互性的强弱,展示方式的强弱,定制性的强弱,都可以决定主机管理方式的好坏和管理员的工作负载, 不少的主机管理软件都是以perl,python 等语言来收集底层的信息, 管理台的界面则是以cgi, php 等语言来做, 但是php,cgi ,python 等语言并没有一个强力的可以展示报表的框架,很多都是很底层的语言API 来做,这在很大程度上限制了展示方式的强弱和功能的定制化,可以说并没有给管理员一个杀手级的应用.
而在主机管理里面的报表应用我则推荐使用BIRT 来做.
暂且省略在google 上可以搜索到的关于birt 的各种优势,为什么选择BIRT , 不妨先看另一则新闻:
思科公司Cisco计划在其网络设备的安全访问控制服务器(ACS)的Web界面中集成安讯开源产品BIRT。 ACS是一项标志性的网络技术,它能将认证授权、用户与管理员访问以及策略控制结合在一起,从而有效简化用户管理。 安讯公司Actuate于日前公布消息称,其旗下的Eclipse基金会项目BIRT将被用于Cisco安全访问控制服务器(Secure Access Control Server)的Web界面中,为网络监控与规划提供带有丰富交互性的数据。此外,该产品还被IT人员用作即席查询与报表设计工具。 Cisco ACS采用BIRT的一大优势就是可以让用户可以轻松获取网络访问与设备管理的事务级系统活动的汇总信息。其功能还包括:网络监控与规划;获取问题检测与解决的信息;在对异常操作或趋势的早期侦测方面,用户还可基于阀值来设定警告并为授权/认证动作设置触发器。 “直接嵌入到ACS中的安讯报表技术,使网络管理员可以监控并分析什么人、什么时候访问了网络,”Cisco工程部经理Neil Mehta在本周发布的一次声明中称,“以前,用户如果想要监控网络访问信息的话,是必须先从ACS中获取原始数据,并且自己制作报表的。”
Cisco 是在网络设备制造上最大的公司了,其选择BIRT 作为WEB管理控制台的报表应用我想应该很能说明问题了,以Cisco 需要管理的设备数之巨大,数据量之巨大,管理复杂度之巨大,相信已经是毋庸置疑的,而其管理网络设备的应用方式跟主机管理基本上都是面对一样的问题.
我在之前的 从php 调用birt (http://www.gemini5201314.net/?p=1131) 的文章已经提到如果主机管理的管理控制台是使用php,python 之类的语言已经可以使用birt 来做报表应用了, 应该对不少管理软件的报表应用加强了不少. 而使用java 开发的管理软件像是grid control , hyperic 则在这方面早已拥有天生优势了.
收集数据
如何收集主机管理数据,能够收集到哪些数据,收集数据的方式,数据储存的方式则是另一个摆在大集群主机管理管理员面前的难题. 使用grid control 或是hyperic 的工作方式, 在每台服务器上部署agent , agent 定时收集需要收集的数据,然后发送给中央管理控制台,中央管理控制台把这些数据储存在数据库中,中央控制台随时都可以按照管理员要求的方式来读取这些数据以了解服务器实时的信息.像是普通的cpu,io,磁盘的各种信息自然都不在话下,而grid control 对于展示ash , awr, top session 等oracle DBA 最关心的信息使用图表的方式对于DBA 快速理解这些信息提供了不少的方便,另外像是每个tablespace 使用率,library cache hit ratio 等各种信息都可以在grid control 里面方便的找到.
而hyperic agent 的sigar api 和oracle 插件也可以收集到很多oracle 相关的信息. 象是Physical Reads/Writes , Logical Reads/Writes , User Commits , CPU Total Time , CPU Time Parse , Cache Hit Ratio , Redo Size Generated, Sorts Rows , Disk Space Used 等许多oracle 重要的信息, 有了这些信息你同样可以制造出自己的ash , awr 统计信息.
展现方式
使用一个页面展现有限的信息已经不能满足主机数量急剧上升的管理需要, 能在一个页面上展现每台主机更多的信息,或者一个页面上展现多台主机的信息才是管理员真正需要的.![](http://www.gemini5201314.net/wp-content/uploads/2009/03/spotlightonunix-thumb.jpg)
Quest 的Spotlight on Unix
上图很漂亮不是吗,能通过非常简单快速的方式展示多台主机的这种信息则会更快的帮助管理员了解系统.
而在成功收集了数据之后,就会有一些新的问题更容易解决了:
列出目前所有主机中工作负载最高的10个, 显示其ash. 然后你在下转到top session. top sql.
显示过去3个月中,physical reads/writes , logical reads/writes 最高的10 台主机.
把不同的主机不同时间段的工作负载进行对比.
显示过去3个月中,磁盘增长率最高的机组,或是目前磁盘使用率达到70%以上的主机,
而这些信息如果没法收集到一个数据库中,就没有办法得出这些报表. 而得到了这些报表之后,管理方式上就会产生一些差异. 比如你能了解下午3点是一个用户高峰,那你统计了工作负载信息最高的主机之后,你自然知道了你的程序在那些应用上繁忙,针对那些繁忙的程序,繁忙的数据库进行优化就行了. 那些经常性使用率不高的主机则可以多一些应用,对主机资源上也更好优化.
再比如磁盘使用上,你能够快速的得到所有的磁盘使用率,使用增长率,你就自然知道了那些磁盘可能会空间不够,并且你知道磁盘历史的使用增长率,你可以预测到什么时间差不多该给哪些磁盘加容量了, 可以从一定程度上避免被动的等到监控软件发现磁盘到达阈值而报警. 主动预测和被动报警在管理上则是完全不一样的.
Grid Control 虽然已经在大规模主机管理上已经走在领导位置,但是各个管理员,各个公司的环境,每个人的使用习惯都是不一样的,在主机管理上是需要越来越多的定制和开发,尤其是报表的分析型需求会越来越多, 展现方式会越来越动态. 相信oracle以后会让开发人员如何在其平台上定制方面下功夫,至少这是一个方向,其他各个服务器监控软件开发商无论是商业的还是开源的都会在展现需求上下功夫,尤其是如何让客户进行定制化的自己开发作为发展方向.
本文图片都不是自己截的,spotlight on unix 来自eygle.com , grid control 来自dba story
参考资料:
http://www.eygle.com/archives/2008/12/dba20_oem_grid_control.html
eygle 谈dba 2.0 和grid control 的使用
http://www.dbform.com/html/2008/547.html
kamus 谈oem 在税务的应用
http://www.ixdba.com/html/y2008/m12/297-oracle-9i-after-performance.html
dba story 谈grid control
http://www.rittmanmead.com/2008/11/28/thoughts-on-obiee-performance-optimization-diagnostics/
mark rittman 谈grid control 管理OBIEE
http://www.actuatechina.com/news_cisco.php
http://www.intelligententerprise.com/channels/performance_management/showArticle.jhtml?articleID=213403848
Cisco 将birt 加入其管理控制台以满足报表数据分析需求
http://www.hyperic.com/products/sigar.html
http://www.hyperic.com/products/oracle-monitoring.html
hyperic 的sigar api和 oracle 插件的功能
相关文章推荐
- Tomcat配置管理(修改默认应用,添加虚拟主机……)
- SQL SERVER 2005 Reporting Services 部署报表管理站点在 有主机头的站点上时的处理方法
- 一表在手 决策无忧—应用强大的报表管理成就企业运维筹措
- SQL SERVER 2005 Reporting Services 部署报表管理站点在 有主机头的站点上时的处理方法
- 润乾集算报表优化应用结构之报表复杂数据源的管理
- splunk对日志的管理 日志主机安装指南
- 卡小二:不用上传数据的信用卡管理应用
- 《循序渐进DB2.DBA系统管理、运维与应用案例》 第二章 菜鸟学习时会遇到的问题
- 智能客户端应用学习系列:SmartClient Software factory中的Composite UI Application Block(Cab)技术了解(十):异步调用,离线处理,队列管理的关系
- 企业移动应用管理平台 - MDM,MAM,MCM
- Filter(过滤器)常见应用(三)——权限管理系统(三)
- 系统参数配置的存储管理与应用的通用方法
- Linux01-Linux磁盘及文件系统管理之企业级应用30
- 在 VirtualBox 中使用 Docker Machine 管理主机
- 《循序渐进DB2.DBA系统管理、运维与应用案例》 第五章 菜鸟学习时会遇到的问题
- android轻松管理安卓应用中的log日志 发布应用时log日志全部去掉的方法
- [ InfoPath应用场景:库存管理 ] 在InfoPath Form Service利用WSS Web Service技术,通过VSTA代码把复杂表单写入SharePoint列表数据库 (二)
- Zoho Reports报表应用入住iPad
- J2EE进:Spring框架的事务管理及应用
- RPM程序包管理以及yum的应用