| 免费下载:IBM® DB2® Express-C 9.7.2 免费版 或者 DB2® 9.7 for Linux®, UNIX®, and Windows® 试用版 |
|---|
| 下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。 |
曾有一段时间,“24x7” 一词更多地是用来形容便利店,而不是数据库和交易系统。数据管理专业人士仍然需要确保其系统的可靠性和快速响应能力,但批处理程序、ETL 作业和日常维护总是需要一个时间窗口。现在不一样了。Internet 已经摆脱了离线限制,对于任务关键型数据库尤其如此,一些全球化企业甚至全天候地依靠于任务关键型数据库的可用性。
幸运的是,数据库监控工具也相应地有所发展,但它们往往被设计用于被动调优和故障排除,而不是主动防止中断。另一方面,监控 可用性意味着将生产系统置于智能代理的严密注视之下,在问题影响不大、足以解决的时候发现问题,不会导致中断。
这里有一个令人振奋的消息:如果您拥有一个中等规模的 IT 基础架构,那么您可能已经拥有一些工具,从而可以利用灵活、轻量级、经济实惠的预警系统来增强数据库监控策略。
虽然 Web 因维护窗口而无法提供服务,并留给您大量事务性的麻烦,但它也有好的一面,它为解决方案奠定了基础。Web 的出现带来了新的直接挑战,甚至对已经管理其他 24x7 应用程序的大型成熟 IT 商店也是如此。众所周知,早期的 HTTP 服务器软件既脆弱又不安全,而其他不太流行的程序的声誉甚至更加不可靠。即使是中型站点的维护人员也可能预料到会出现一些困难,而对于那些在某天、某季度或某个节假日购物旺季中的关键时刻遇到这种情况的人来说,这简直就是一场灾难。
各种规模的 IT 商店通过采用 Nagios、IBM Tivoli NetView、Big Brother 等网络管理软件对挑战作出响应。这些应用程序可帮助他们了解其 24x7 系统上的 “正常” 情况应该是什么样子的。对于开箱即用(或 .tar 文件)产品,这些产品主要关注网络设备状态和一些基本的服务器资源,难以全面覆盖。然而,该程序提供了自定义监控 API,使熟练的管理人员可以将其网络管理范围扩展至第 3 层之外,最终可以轮询并测量数千个服务点。
在 Web 1.0 尚未发布的日子里,让一切正常运行就是进行全面监控的主要动机。但如今这个充斥着合规性、服务水平协议和适当规模虚拟环境的年代里,主动监测已经成为绝对必须具备的技术。对此,企业制定了许多具有竞争力的 IT 监控解决方案,每个解决方案都有其不同的优势、特色和许可选项。现在,您的运营团队很有可能已选择了产品,已完成相应配置,用该产品来轮询贵公司的生产服务器和网络设备。许多工具都在等待您的挑选,您只需走过去拿起它们即可。
将您的数据库连接到网络监控控制台,这听起来很困难,事实并非如此。有些平台在基础产品中或以单独插件的形式为 IBM 数据库服务器提供专用的监控代理,以简化此过程。即使这样,您可能还想创建一些自定义监控器来监控特定情况。扩展另一种监控平台来监控您的数据库,这可能听起来像一个艰巨的任务,但对于 DBA 来说,学习曲线并不是那么陡峭,而更大的应用范围必然会提供即时回报。
即时有多快?几天时间即可,无需等待几个月。通过在一周内部署一个仅仅由十几行 UNIX shell 脚本代码组成的自定义服务检查,某大型国际组织的运营技术人员能够在其数据库中检测到一个不常见的严重异常,该异常可能导致公司在三大洲的运营中断几个小时。
作为数据管理的专业人员,应该了解监控检查在每个数据库服务器及其相关中间件中寻找的是什么,您在这方面的知识是有效的监控计划中的一个重要组成部分。如果没有您的洞察力,可用的默认监控检查可能只会发现服务器的网络连接状态和 TCP 服务端口状态。
在评估哪项服务检查需要或不需要自定义编程之前,应先列出一张愿望清单,清单内容包括理想监控环境中的专项关注点的各项指标,以及捕获这些关注点所必需的 DBA 命令。此外,还需要考虑 OS 指标,如诊断消息日志的大小、最近创建的核心转储文件的存在,以及下列问题。
时间:根据您目前部署的系统,评估仪表型指标(如当前连接和可用存储)的警报界限。锁定等待时间、回滚和缓存溢出等性能计数器总是不断增加,您需要为它们指定可接受的每分钟速率。您还需要决定每个服务检查运行的频率;它可以每分钟、每 5 分钟或 10 分钟运行一次,具体的频率取决于资源的重要性,以及服务检查的繁重程度。然后您需要依据各项目不接受检查对生产带来的扰乱的可能性,对监控愿望列表中的项目进行排名并确定其优先级。无论如何实施您的服务检查,在安装监控套件之前,都应该制定好详细的进攻计划。
主动还是被动:接下来,确定需要的是主动式还是被动式监控检查(从监控服务器的角度来看)。主动式监控器在中央监控服务器上执行,并通过在整个网络中轮询远程资源来检查这些资源。(有关详细信息,请参阅侧栏 “无需密码的主动轮询”。) 被动式监控器直接在生产服务器上运行,并将其结果传送到监控服务器。监控平台一直支持主动式服务检查,但也有不少平台支持对各种网络协议的被动式监控。
在监控数据库和复杂的业务应用时混合使用主动式和被动式服务检查,这是相当普遍的现象。有些实现对数据库采用了被动式监控,因为这会使得编写在本地数据库服务器上执行的服务检查变得更容易,无需进行身份验证。监控服务器往往位于安全性较低的网络区域,因为数据库服务器无需允许监控服务器的入站连接,这可能使得服务检查变得更容易。您可能会偏好某一种方法,但如果您的网络管理员和运营团队已经作出决定,您也无需感到失望。
简单:当涉及到开发自定义服务检查时,越简单越好。最后,每个服务检查都仅仅是包装一个或两个数据库命令,后跟随一些文本格式,可能还包括一些计算。请坚持使用与基本操作系统捆绑的编程语言,例如 在 Linux 和 UNIX 使用 bash、ksh 或 Perl,在 Windows 服务器上使用 Microsoft Windows PowerShell 或 Microsoft VBScript 。一旦您编写过几个脚本,就可以将经常重复的代码例程存放到可重用的库中,从而寻找机会使脚本更小、更紧凑。
注释:在编写代码时,考虑到会有一些未知的维护程序员,所以添加注释始终是有必要的,而在编写服务检查时,这一点显得尤为重要,因为在出问题的时候,您需要立即调节它们(例如,供应商的软件更新突然中断了它们的测试逻辑)。您的公司的自定义监控脚本集合可能很小,但它们仍然很重要,并且使用适当开销的版本控制系统(如,Apache Subversion、IBM Rational ClearCase 或 Git)进行管理是非常值得的。如果您正采用被动式检查来监控资源,那么由版本控制程序提供的检查和更新特性可以提供跨多个服务器的精简、一致的部署流程。
层次结构:如果监控平台支持资源之间的依赖关系的概念,请花些时间准确地定义这些层次结构,以减少下游的噪音量,这些噪音可能会引起重大的问题。例如,如果主网络交换机出现故障,连接到它的服务器也会受到影响,但您可能不希望费力地通过几十个警报来确认此消息,在交换机停机时,这些系统和应用程序确实是不可访问的。
“Rudy 的 Rutabaga Rule (大头菜规则):一旦您消除了头号问题,二号问题的级别就会上升。” –Gerald M. Weinberg
通过 IT 监控来减少非计划性停机的频率和持续时间,虽然这是一个极好的成果,但您的工作不必就此打住。可以通过定义监控器来解决最紧迫的问题,并获得更多系统洞察力,如此几个回合之后,请继续捕捉您的服务器和应用程序的关键性能指标。随着时间的推移,在吞吐量、响应时间和资源利用率的测量中将发现趋势数据,可将它们用于规划升级,推动整合工作,尽量减少使用昂贵的、过多的许可。
在业务方面,许多应用程序数据库的监控都可以使用简单、开销较低的 SQL 语句,这些语句提供客户登记、收到的订单、总收入和其他基本指标的最近计数,以便产生一个包含令人信服的信息的真正仪表板。在您的监控平台上创建角色特定的 Web 帐户,编写与每个角色相关的状态指标和性能趋势的自定义视图,您可能会发现,以前存有争议的部门在共享一个可用性数据的公共库之后,他们的行为变得更像一个用户社区。
这一切听起来可能过于乐观,但无可否认,如果通过 Web 访问的源,就能够提供贵公司的关键任务系统的及时、准确的统计数据,并提高整体可用性,那么这样的源会为您所做的工作吸引更多拥护者。
学习
- 通过访问 DB2 认证专栏, 了解 DB2 认证的更多信息。
- 通过访问 从 Oracle 迁移到 DB2 专题, 了解 IBM 为数据库迁移提供的解决方案以及相关工具信息。
- 通过访问 developerWorks 中国 Information Management 专区的 DB2 9 技术资源中心 获得更多 DB2 9 相关的文章、教程和多媒体课件等学习资源。
- IBM Tivoli 集成的服务管理工具。
- IBM Rational 软件开发工具。
- 通过访问
DB2 V9.7 信息中心 , 了解 DB2 V9.7 的基本概述。
获得产品和技术
- 现在可以免费使用 DB2,并下载免费的电子书 《DB2 Express-C 9.7 快速入门》 进行系统学习。下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。
- 下载 IM 软件试用版,体验信息管理软件强大的功能;并通过“IBM 软件下载和常见问题交流” 群组进行在线交流。
讨论
- 通过访问 alphaWorks 获得更多 IBM 的前瞻性技术和资源。
-
加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。