随着信息化社会的发展,企业在为客户提供服务的同时会产生大量的电子数据,这些数据如何存储,如何传输就成为了一个重要的问题。InfoSphere Data Replication 是 IBM 提供的一个用于数据复制的产品簇,从软件层面为企业提供数据备份方案。该产品包含 Q 复制、SQL 复制 CDC 复制三大复制技术框架。Q 复制是一种基于日志捕获和事务回放的复制方式,使用 WebSphere MQ 消息中间件保证数据传输的可靠性。企业想要保证数据的安全性和准确性,就必须保证复制过程的正常有序,所以 Q 复制的实时状态的监控显得尤为重要。IBM InfoSphere Data Replication Dashboard(IIDR Dashboard)产品由此而生,作为一款 web 监控工具,它能够实时展示 Q 复制程序的状态、复制的进度、性能等。经过实践证明,这一数据复制实时监控产品对 Q 复制用户或管理员来说,无疑是一个直观且方便地观察 Q 复制状态的应用。但是存在一个现实问题是,人力无法 7*24 小时打开浏览器,在计算机旁查看监控状态,所以需要一种方式,在即使没有人观察但是出现异常情况时,仍然能及时、主动地提醒管理人员,以达到快速响应异常并解决异常,避免或减少由于异常或异常处理不及时所带来的损失。为了满足客户随时随地监控 Q 复制的需要,IIDR Dashboard 增加了一个 Alert Manager 的功能模块,并支持后台运行。
Q 复制是一种高容量、低延时、低网络拥塞和异步的复制解决方案,使用 IBM WebSphere MQ 在数据库的源端和目标端进行事务传输。在 Q 复制中,源端存在叫做 Q Capture 的程序读取指定的源表的变化日志,然后把事务作为消息从队列中传输出去,目标端存在叫做 Q Apply 的程序负责读取这些事务并传输给目标表。如果需要监控 Q 复制的实时状态,则需要从复制过程的各个方面进行监控。IIDR Dashboard 为整个复制过程量身定制,提供了良好的监控视图和健康状况报告。通过 IIDR Dashboard, 用户可以获得以下信息并进行操作:
目前 IIDR Dashboard 所支持的 Q 复制的监控指标,具体包括以下几个。
IIDR Dashboard 中是通过新增的 Alert Manager 模块来实现该预警功能的,接下来的章节将具体实现它的功能和用法。
登录 IIDR Dashboard,创建并打开一个 Monitor Group 后,可以很容易地看到 Alert Manager tab,点击 Alert Manager 打开该模块,其中包含 Alert List、Configure Alerts、Notification Limits、Alerts Emailed 四个小功能模块。通过邮件配置,一旦复制过程中预警被触发,管理人员就会收到邮件,另外通过配置后台运行,即使管理员将浏览器关闭,该邮件下就分别介绍这四个模块的功能。
在 Alert List 模块中,管理员或监控人员可以查看已经发出的预警列表,同时可以根据不同需求,选择不同的 server、不同的预警条件和不同的时间范围查看已有预警列表。模块界面如图 1 所示。
以下对图 1 中列举的各种选项进行简单介绍。
在 Configure Alert 模块中可以配置各预警条件阀值、编辑接收预警的邮件地址等。界面如图 2 所示。
以下对图 2 中列举的各种选项进行简单介绍。
此模块的功能属于预警邮件个性化定制功能,一是能够个性化设置预警邮件发送的频率,二是个性化定制邮件发送的 blackout periods。界面如图 6 所示。
通过在前面几个模块的设置后,如果有预警邮件发出,则同时也会显示在 Alerts Emailed 模块的邮件列表下。这个列表可以查看自上次 Reset 之后或三天内的预警邮件。其中 Refresh 按钮可以更新列表,Reset 按钮可以删除列表。邮件列表中会显示的信息包含 Timestamp、Email Subject、Contacts、 Email Content。界面如图 7 所示。
用户通过上一章介绍的 Alert Manager 设置方法配置好预警的阈值和邮件地址后,一旦预警条件被触发,IIDR Dashboard 就会发出预警邮件。根据预警类别的不同,邮件的内容也是不同的。本章将展示不同预警的配置和邮件的实例。
在 Alert Conditons 列表中选择 Apply Latency,能够在编辑区域看到 Queues 的相关信息,选择 Queues,然后勾选 Email Alerts,并且点击 Eidt 按钮输入接收预警邮件的邮箱地址,然后点击编辑区域左上角的 Save 按钮。如果需要个性化定制邮件发送的频率及 blackout periods,则可以先在 Notification Limits 模块进行编辑。设置和预警邮件实例如图 8 和图 9 所示。
如图 9 所示,邮件以“Replication alert: Q Apply latency exceeded threshold for receive queue <queue name>”作为标题,正文中将列出预设的 Latency 的阈值,以及触发预警的实际时间和实际值,同时,邮件末尾会列出邮件预警的设置。
Apply Memory 的预警配置与 Apply Latency 配置的步骤类似,其配置及邮件实例如图 10 和图 11 所示。
如图 11 所示,邮件以“Replication alert: Memory latency exceeded threshold for the receive queue <queue name>”作为标题,正文中将列出预设的 Apply Memory 的阈值,以及触发预警的实际时间和实际值。
Log latency 的预警配置与 Apply Latency 配置的步骤类似,其配置及邮件实例如图 12 和图 13 所示。
如图 13 所示,邮件以“Replication alert: Log latency exceeded threshold for the program <program name>”作为标题,正文中将列出预设的 Log Latency 的阈值,以及触发预警的实际时间和实际值。
Capture Memory 预警配置与 Apply Latency 配置的步骤类似,其配置和预警邮件实例如图 14 和图 15 所示。
如图 15 所示,邮件以“Replication alert: Memory threshold exceeded for the Q Capture <program name>”作为标题,正文中将列出预设的 Q Capture Memory 的阈值,以及触发预警的实际时间和实际值,以及 Q Capture 所在的 Monitor Group。
End-to-end Latency 的预警配置与 Apply Latency 配置的步骤类似,其配置及预警邮件实例如图 16 和图 17 所示。
如图 17 所示,邮件以“Replication alert: End-to-end latency exceeded threshold for receive queue <queuename>”作为标题,正文中将列出预设的 End-to-end latency 的阈值,以及触发预警的实际时间和实际值,以及 Monitor Group。
Exceptions 的预警配置与 Apply Latency 配置的步骤类似,其配置及预警邮件实例如图 18 和图 19 所示。
如图 19 所示,邮件以“Replication alert: Q Apply exceptions on receive queue <queuename>”作为标题,正文中将 Exception 所在的 Monitor Group。
Messages 预警配置与 Apply Latency 配置的步骤类似,其配置和预警邮件实例如图 20 和图 21 所示。
如图 21 所示,邮件以“Replication alert: Trace message <message id> on <program type> <program name>”作为标题,正文中将列出该 Trace message 的详细信息。
Program Status 包含 Capture server 和 Apply server 的状态。配置和邮件预警实例如图 22 和图 23 所示。
如图 23 所示,邮件以“Replication alert: <program type> is inactive”作为标题,正文中将列出该 Program 的详细信息。
Receive Queue Depth 预警配置与 Apply Latency 配置的步骤类似,其配置和预警邮件实例如图 24 和图 25 所示。
如图 25 所示,邮件以“Replication alert: Queue depth exceeded threshold for receive queue <queue name>”作为标题,正文中将列出预设的 Queue depth 的阈值,以及触发预警的实际时间和实际值,以及 Monitor Group。
Receive Queue Status 预警配置与 Apply Latency 配置的步骤类似,其配置及预警邮件实例如图 26 和图 27 所示。
如图 27 所示,邮件以“Replication alert: Queue depth exceeded threshold for receive queue <queue name>”作为标题,正文中将列出预设的 Queue depth 的阈值,以及触发预警的实际时间和实际值,以及 Monitor Group。
Capture Subscription Status 预警配置与 Apply Latency 配置的步骤类似,其配置和预警邮件实例如图 28 和图 29 所示。
如图 29 所示,邮件以“Replication alert: Q Subscription <qsub name> is inactive”作为标题,正文中将列出触发预警的时间以及 Q 预定所在的 Monitor Group。
Transaction size 预警配置与 Apply Latency 配置的步骤类似,其配置和预警邮件实例如图 30 和图 31 所示。
如图 31 所示,邮件以“Replication alert: Transaction size exceeded threshold for the Q Capture program <program name>”作为标题,正文中将列出 warntxsz 设置的值,触发预警的时间,Q Capture 以及所在的 Monitor Group。”作为标题,正文中将列出 warntxsz 设置的值,触发预警的时间,Q Capture 以及所在的 Monitor Group。
本文介绍的 Alert Manager 模块是一个非常直观且便捷的预警功能模块,不仅能及时通过 Alert lists 模块简单查看预警信息,还能通过 Alert Emailed 查看较为详细的预警信息。同时还能设置后台功能发送预警邮件到管理人员的邮箱,让管理人员非在线状态也能及时响应预警信息。同时各种个性化定制发送能让管理人员按照需要进行邮件发送定制,满足其不同的需要。通过具体实例的介绍,相信读者可以很快地掌握该功能模块的用法并且尽快受益,摆脱人力需要使用计算机并监控浏览器的限制,做到 7*24 小时的自动预警。