数据仓库监控平台

2008年初,我在itpub论坛上提出了怎么做数据仓库监控平台的帖子,得到了很多网友的建议,时过一年,我的监控平台的运行已经取得了很好的效果,作为回报,我对监控平台的思想做个总结,献给大家。

对于大型的数据库应用系统(如BI系统),都包括很多服务和应用,我们没法实时知道系统运行是否正常,特别是晚上的时候,如果服务器宕机了、应用服务死掉了、数据库空间不足了、ETL服务器磁盘满了、关键作业链上的某个作业失败等等中的任何一个环节出现问题,都会严重影响客户体验,甚至带来不可预料的麻烦,这时候就必须有一套对系统进行监控的措施。目前有很多软件应的监控通知和报警服务,有收费的也有免费的,大家都可以选择。

我尝试自己来实现一个服务监控和报警通知的程序,在服务或者应用出现故障的时候,采取两种处理方式:自动恢复或通知维护人员。这样以很小的代价,提升我们的服务支撑能力。

[@more@]

【监控原理】

远程服务监控(portal服务器)
对于远程机器来说,我们可以有一台监控服务器,或者随便找一台比较不容宕机的服务器来作为监控服务器,那么就能够监控其他的服务机上的服务了,远程监控是比较大家需要的方式了。一般远程监控就监控服务器和端口是否开放,比如说,我们的 Web 服务 Apache 一般都会开放 80 端口,那么我们就可以通过访问这台服务器的 80 端口来确定 Apache 是否在正常工作,如果无法连接上,那么说明该服务就停止了。

本地服务监控(ETL服务器)
对于本机来说,监控进程和日志文件都是可行的,一般来说,automation七个服务正常运行时会有相应的日志信息,如果这些日志文件长时间没有更新,就可以肯定该服务已经停止了。另外对于进程来说,本机是很容易查看到进程情况的,对于 MySQL 等服务器来说,守护进程都是长期开放的,如果发现当前系统中没有了 MySQL 守护进程,那么也可以确认 MySQL 服务已经停止了。

数据库空间监控
数据库空间不足的话,日常作业将全部失败,数据库空间的监控也很重要,同其他监控相比,数据库空间的监控相对简单。

ETL磁盘空间监控
同数据库空间一样,ETL磁盘空间不足的话,系统也无法运转,监控相对简单。

流程监控:
整个etl过程中,作业可能会由于前一次的错误状态导致此次不能正常运行。比如teradata automation中,前一次作业异常终止,可能导致作业锁(lock目录下的锁文件)没有正常清除,这时就需要监控锁产生的时间,一般来说,只有当天的锁才是正常的,非当天的,我们完全可以将其清理掉,从而保证当天的作业正常运行。

负载监控
对于数据仓库来说,正确分配资源,让跑批尽量少在白天占用资源是必须的。负载监控实现很简单,但监控结果可以作为我们分配资源的重要依据。

应用监控
对于数据仓库项目,监控点可能涉及到整个ETL过程,甚至可以延伸到数据质量的控制。依据需要,可以建立上游系统送数情况进行监控、关键作业监控、数据质量监控等。

报警通知
服务停止了,自然需要通知系统维护人员,那么一般就是通过邮件或者短信的方式。工作时间最好是邮件,维护人员要合理配置邮件的接收频次,以在发现问题时及时处理。非工作时间,短信自然是最好的了,但是频繁短信同样让维护人员很郁闷,这个叫做短信炸弹(Message Bomb),所以定义出什么时候发送短信是非常重要的,只在非发不可的时候才发送短信,要不惰性驱使,运维人员仍旧不能及时处理问题。

监控展示
对于每次异常,监控程序在处理问题(修复或通知)的同时,需要做相关记录。监控平台上可以看见这些信息,以便做后续处理。如服务经常死肯定是不行的,维护人员可以做排查工作,让系统恢复正常状态;再者,记录日志对后续责任认定具有指导意义。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16723161/viewspace-1016237/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16723161/viewspace-1016237/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值