跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

及早预警,快速修复

利用已有工具最大限度地增加关键任务正常运行时间。

Fred Sobotka, 总裁, FRS Consulting
Fred Sobotka 是 IBM 业务合作伙伴 FRS Consulting 的总裁,该公司专门从事 DB2 性能调优、DB2 pureScale 集群、XML 支持和 Oracle 至 DB2 的迁移。他是 IBM 金牌顾问、IBM Data Champion,并且是一位屡获殊荣的 IDUG 演讲者。

简介: 任务关键型数据库需要各种工具,以便利用灵活、轻量级且经济实惠的预警系统来增强数据库监控策略。在本文中,将了解如何利用现有工具最大限度地增加任务关键型数据库的正常运行时间。 本文来自于 IBM Data Management magazine 中文版

发布日期: 2011 年 12 月 13 日
级别: 初级 原创语言: 英文
访问情况 : 799 次浏览
评论: 


免费下载:IBM® DB2® Express-C 9.7.2 免费版 或者 DB2® 9.7 for Linux®, UNIX®, and Windows® 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

- 阅读本文的交互式数字版格式!

曾有一段时间,“24x7” 一词更多地是用来形容便利店,而不是数据库和交易系统。数据管理专业人士仍然需要确保其系统的可靠性和快速响应能力,但批处理程序、ETL 作业和日常维护总是需要一个时间窗口。现在不一样了。Internet 已经摆脱了离线限制,对于任务关键型数据库尤其如此,一些全球化企业甚至全天候地依靠于任务关键型数据库的可用性。

幸运的是,数据库监控工具也相应地有所发展,但它们往往被设计用于被动调优和故障排除,而不是主动防止中断。另一方面,监控 可用性意味着将生产系统置于智能代理的严密注视之下,在问题影响不大、足以解决的时候发现问题,不会导致中断。

这里有一个令人振奋的消息:如果您拥有一个中等规模的 IT 基础架构,那么您可能已经拥有一些工具,从而可以利用灵活、轻量级、经济实惠的预警系统来增强数据库监控策略。

感谢 Internet 提供的帮助

虽然 Web 因维护窗口而无法提供服务,并留给您大量事务性的麻烦,但它也有好的一面,它为解决方案奠定了基础。Web 的出现带来了新的直接挑战,甚至对已经管理其他 24x7 应用程序的大型成熟 IT 商店也是如此。众所周知,早期的 HTTP 服务器软件既脆弱又不安全,而其他不太流行的程序的声誉甚至更加不可靠。即使是中型站点的维护人员也可能预料到会出现一些困难,而对于那些在某天、某季度或某个节假日购物旺季中的关键时刻遇到这种情况的人来说,这简直就是一场灾难。

各种规模的 IT 商店通过采用 Nagios、IBM Tivoli NetView、Big Brother 等网络管理软件对挑战作出响应。这些应用程序可帮助他们了解其 24x7 系统上的 “正常” 情况应该是什么样子的。对于开箱即用(或 .tar 文件)产品,这些产品主要关注网络设备状态和一些基本的服务器资源,难以全面覆盖。然而,该程序提供了自定义监控 API,使熟练的管理人员可以将其网络管理范围扩展至第 3 层之外,最终可以轮询并测量数千个服务点。

无需密码的主动轮询

主动监控的一个缺点是,它通常要求监控服务器保存服务检查所访问的所有远程帐户的密码,但多年来,一直都有一个安全、方便的解决办法。通过基于 SSH 密钥的身份验证,可以将 Linux 和 UNIX 服务器上的个人帐户配置为允许使用预注册的加密密钥对,而不是使用传统的密码验证来进行远程登录。如果将这种模式应用在主动监控上,这涉及到一个在中央监控服务器上存储的任务特定的私钥,以及一个已在特定服务帐户(例如,在数据库服务器上的受限监控用户)上的授权密钥列表中注册的对应公钥。

当中央监控服务器需要刷新某个特定服务的状态时,服务检查程序会使用私钥打开一个连接到远程系统的加密 SSH 连接,并发出命令以获取状态信息。密码身份验证限制用户一次只有一个密码,与之不同,基于 SSH 密钥的身份验证允许每个用户帐户管理多个授权密钥,从而产生高度细化的身份验证策略,这些策略可能因任务、客户端或其他条件而有所不同。

在 Web 1.0 尚未发布的日子里,让一切正常运行就是进行全面监控的主要动机。但如今这个充斥着合规性、服务水平协议和适当规模虚拟环境的年代里,主动监测已经成为绝对必须具备的技术。对此,企业制定了许多具有竞争力的 IT 监控解决方案,每个解决方案都有其不同的优势、特色和许可选项。现在,您的运营团队很有可能已选择了产品,已完成相应配置,用该产品来轮询贵公司的生产服务器和网络设备。许多工具都在等待您的挑选,您只需走过去拿起它们即可。

将您的数据库连接到网络监控控制台,这听起来很困难,事实并非如此。有些平台在基础产品中或以单独插件的形式为 IBM 数据库服务器提供专用的监控代理,以简化此过程。即使这样,您可能还想创建一些自定义监控器来监控特定情况。扩展另一种监控平台来监控您的数据库,这可能听起来像一个艰巨的任务,但对于 DBA 来说,学习曲线并不是那么陡峭,而更大的应用范围必然会提供即时回报。

即时有多快?几天时间即可,无需等待几个月。通过在一周内部署一个仅仅由十几行 UNIX shell 脚本代码组成的自定义服务检查,某大型国际组织的运营技术人员能够在其数据库中检测到一个不常见的严重异常,该异常可能导致公司在三大洲的运营中断几个小时。


准备好您的数据系统

作为数据管理的专业人员,应该了解监控检查在每个数据库服务器及其相关中间件中寻找的是什么,您在这方面的知识是有效的监控计划中的一个重要组成部分。如果没有您的洞察力,可用的默认监控检查可能只会发现服务器的网络连接状态和 TCP 服务端口状态。

在评估哪项服务检查需要或不需要自定义编程之前,应先列出一张愿望清单,清单内容包括理想监控环境中的专项关注点的各项指标,以及捕获这些关注点所必需的 DBA 命令。此外,还需要考虑 OS 指标,如诊断消息日志的大小、最近创建的核心转储文件的存在,以及下列问题。

时间:根据您目前部署的系统,评估仪表型指标(如当前连接和可用存储)的警报界限。锁定等待时间、回滚和缓存溢出等性能计数器总是不断增加,您需要为它们指定可接受的每分钟速率。您还需要决定每个服务检查运行的频率;它可以每分钟、每 5 分钟或 10 分钟运行一次,具体的频率取决于资源的重要性,以及服务检查的繁重程度。然后您需要依据各项目不接受检查对生产带来的扰乱的可能性,对监控愿望列表中的项目进行排名并确定其优先级。无论如何实施您的服务检查,在安装监控套件之前,都应该制定好详细的进攻计划。

Akbank 的实时报告

当在金融机构中听到 24x7 运营时,很自然就会想到交易:在午夜处理帐户存款或信用卡销售。但像 Akbank 这样的金融机构是 24 小时运作的,他们需要准确的最新信息来提供各种服务。例如,呼叫中心始终是开放的,当客户打电话来问一个问题,就必须立即解决这个问题。呼叫中心的工作人员也需要即时访问客户记录和报告,以便在出现销售机会时能够提供适当的产品。并且,在白天或夜晚的任何时间里,客户满意度和投诉报告都必须是可用的。

实时信息如此之重要,所以土耳其的一家中央银行 Akbank 已经尽可能在其主要业务系统(主要运行 DB2 for z/OS)上直接运行报告。 “交易和批处理作业总是优先于报告;系统自动取消需要 15 分钟以上的报告;在高峰时段完全不接受报告请求,” Akbank 的商业智能应用程序副总裁 Banu Ekiz 说。

尽管已经拥有广泛而复杂的数据仓库和报告系统,这些措施仍然是必需的:“我们针对大约 15 个数据集市运行 IBM Cognos 和 SAP Business Objects,” Ekiz 说。但它可能需要一天或更长时间才可以使业务系统的新数据可用。为满足业务需求而维护和更新系统,这是一项复杂且耗时的工作。

2010年7月,情况开始发生变化。 Akbank 建立了一个在 Netezza 设备上运行的实时运营数据存储,使用 Informatica PowerCenter 和 PowerExchange 从业务系统实时捕获数据。“目前,我们的实时数据存储中大约有 1000 个表,我们每秒捕获 4000 个变更,” Ekiz 说。 “在业务系统创建数据 15 分钟后,业务用户就能看到数据;报告的平均运行时间为 80 秒;报告不会在业务系统上参与资源竞争。此外,在过去一年中,该系统在 99.99% 的时间内都是可用的。”

这仅仅是长远计划的第一阶段。 “下一步我们准备将数据仓库平台和数据集市迁移到 Netezza 系统,” Ekiz 说。“我们还启动了数据治理计划。所有这些举措结合起来,会帮助我们尽快解答关键的业务问题。”

主动还是被动:接下来,确定需要的是主动式还是被动式监控检查(从监控服务器的角度来看)。主动式监控器在中央监控服务器上执行,并通过在整个网络中轮询远程资源来检查这些资源。(有关详细信息,请参阅侧栏 “无需密码的主动轮询”。) 被动式监控器直接在生产服务器上运行,并将其结果传送到监控服务器。监控平台一直支持主动式服务检查,但也有不少平台支持对各种网络协议的被动式监控。

在监控数据库和复杂的业务应用时混合使用主动式和被动式服务检查,这是相当普遍的现象。有些实现对数据库采用了被动式监控,因为这会使得编写在本地数据库服务器上执行的服务检查变得更容易,无需进行身份验证。监控服务器往往位于安全性较低的网络区域,因为数据库服务器无需允许监控服务器的入站连接,这可能使得服务检查变得更容易。您可能会偏好某一种方法,但如果您的网络管理员和运营团队已经作出决定,您也无需感到失望。

简单:当涉及到开发自定义服务检查时,越简单越好。最后,每个服务检查都仅仅是包装一个或两个数据库命令,后跟随一些文本格式,可能还包括一些计算。请坚持使用与基本操作系统捆绑的编程语言,例如 在 Linux 和 UNIX 使用 bash、ksh 或 Perl,在 Windows 服务器上使用 Microsoft Windows PowerShell 或 Microsoft VBScript 。一旦您编写过几个脚本,就可以将经常重复的代码例程存放到可重用的库中,从而寻找机会使脚本更小、更紧凑。

注释:在编写代码时,考虑到会有一些未知的维护程序员,所以添加注释始终是有必要的,而在编写服务检查时,这一点显得尤为重要,因为在出问题的时候,您需要立即调节它们(例如,供应商的软件更新突然中断了它们的测试逻辑)。您的公司的自定义监控脚本集合可能很小,但它们仍然很重要,并且使用适当开销的版本控制系统(如,Apache Subversion、IBM Rational ClearCase 或 Git)进行管理是非常值得的。如果您正采用被动式检查来监控资源,那么由版本控制程序提供的检查和更新特性可以提供跨多个服务器的精简、一致的部署流程。

层次结构:如果监控平台支持资源之间的依赖关系的概念,请花些时间准确地定义这些层次结构,以减少下游的噪音量,这些噪音可能会引起重大的问题。例如,如果主网络交换机出现故障,连接到它的服务器也会受到影响,但您可能不希望费力地通过几十个警报来确认此消息,在交换机停机时,这些系统和应用程序确实是不可访问的。


实现可用性的文化

“Rudy 的 Rutabaga Rule (大头菜规则):一旦您消除了头号问题,二号问题的级别就会上升。” –Gerald M. Weinberg

大型金融机构可在 12 小时内从 Oracle 切换到 DB2

如果您准备和金融行业的公司谈高可用性,那么您需要从您的词汇表中删除三个词:“如果”、“但是” 和 “除外”。例如,一个全球性的金融服务公司允许其网上零售银行服务有一个 12 小时的季度维护窗口。这对于日常运营来说,这是一段相当长的时间,但完整的平台迁移又会花费多长时间呢?

当该组织(全球排名前 25 位的金融服务公司)将其网上银行系统从 Oracle 迁移到 IBM DB2 9.7 时,它面临着一个严峻的可用性挑战,该挑战可能还不是您想像中的挑战。由于 DB2 9.7 为常用的 Oracle 特定功能提供了原生支持,所以迁移团队无需进行大量的重新编写代码的工作就能够迁移应用程序。IBM Data Movement Tool (数据迁移工具)自动产生数据(300 多个动态表中的 3 TB 数据),从 Oracle 实际迁移到 DB2 的流程。惟一的问题是时间表。

“利用迁移工具包,将数据从 Oracle 迁移到 DB2 是比较容易的部分”,The Fillmore Group 的负责人与创始人 Frank Fillmore 说(The Fillmore Group 是一家 DB2 技术咨询公司)。 “但是,我们需要 5 天进行批处理的卸载/重载,检查和验证数据。系统不可能停机这么长时间。”

与 IBM Lab Services 团队合作,Fillmore 推荐使用 IBM InfoSphere Replication Server 的 Q Replication 特性。部署 Q Replication 通常用于提供高可用性和负载均衡,它捕获数据库变更,并在消息队列中存储这些变更。在开始迁移之前,IBM 和 The Fillmore Group 安装了 Q Replication,利用它捕获仍然正常运行的 Oracle 源数据库上的变更。然后,团队进行大量测试,记录从事务量到更新目标数据库所需时间等一切数据。 “在完成迁移和验证后,我们就打开队列,将变更存入 DB2 数据库中”,Fillmore 说。 “当两个数据库完成同步,我们翻转开关,并交换事务流。”

该团队的创造性解决方案已通过无缝过渡得到回报。在进行生产交换的周末,团队限制了在线银行应用程序的访问,只执行必要的技术操作验证,然后重新对公众开放应用程序,所有工作都在标准的 12 小时维护窗口内完成。 “该项目进行得非常顺利”,Fillmore 说。 “我们几乎可以肯定,以后从 Oracle 迁移到 DB2 的时候,我们都会使用 Q Replication 策略。”

通过 IT 监控来减少非计划性停机的频率和持续时间,虽然这是一个极好的成果,但您的工作不必就此打住。可以通过定义监控器来解决最紧迫的问题,并获得更多系统洞察力,如此几个回合之后,请继续捕捉您的服务器和应用程序的关键性能指标。随着时间的推移,在吞吐量、响应时间和资源利用率​​的测量中将发现趋势数据,可将它们用于规划升级,推动整合工作,尽量减少使用昂贵的、过多的许可。

在业务方面,许多应用程序数据库的监控都可以使用简单、开销较低的 SQL 语句,这些语句提供客户登记、收到的订单、总收入和其他基本指标的最近计数,以便产生一个包含令人信服的信息的真正仪表板。在您的监控平台上创建角色特定的 Web 帐户,编写与每个角色相关的状态指标和性能趋势的自定义视图,您可能会发现,以前存有争议的部门在共享一个可用性数据的公共库之后,他们的行为变得更像一个用户社区。

这一切听起来可能过于乐观,但无可否认,如果通过 Web 访问的源,就能够提供贵公司的关键任务系统的及时、准确的统计数据,并提高整体可用性,那么这样的源会为您所做的工作吸引更多拥护者。

赞助商文章
The Internet is Your Oyster Safeguarding the Smart Grid with a Tactical Appliance Does Your Storage Have the Power to Support Mixed Workloads?
IBM, Intel Post Top Results for SAP Transaction BankingIBM DB2 Advanced Enterprise Server EditionRiding the Open Social-Content Wave
Critical Modeling Strategies for Insurance CompaniesVirtualized Business Intelligence Levels the Playing Field for Small and Midsize CompaniesGrace Under Pressure: ENOVIA V6 PLM Redefines Peak Workload Performance on DB2
DB2 is Pure Power for Growing BusinessesIBM Champions Connection
合作伙伴资源
Advent Global Solutions, Inc.Applied Analytix, Inc.ASG Software Solutions
BMCCogitoDassault Systèmes
Daeja Image SystemsDBIFuzzy Logix
Melissa DataNECNetezza
QueBIT Quest SoftwareRelational Architects International
Safari Books Online

参考资料

学习

获得产品和技术

讨论

  • 通过访问 alphaWorks 获得更多 IBM 的前瞻性技术和资源。

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

关于作者

Fred Sobotka 是 IBM 业务合作伙伴 FRS Consulting 的总裁,该公司专门从事 DB2 性能调优、DB2 pureScale 集群、XML 支持和 Oracle 至 DB2 的迁移。他是 IBM 金牌顾问、IBM Data Champion,并且是一位屡获殊荣的 IDUG 演讲者。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=780830
ArticleTitle=及早预警,快速修复
publish-date=12132011

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。