很多人以为高可靠性系统不需要监控。现实发生的问题和深入分析发现高可靠系统也需要监控。只是其监控与一般应用监控有所不同。

高可靠性系统及其潜在问题

任何系统的部件都有损坏的可能性。高可靠性系统一般采用热备份,双重处理,冗余等方式使系统在某个部件发生问题时能够继续工作。

当某个部件发生问题时,系统需要进行相关处理,同时采用人工和自动方式对损坏的部件进行处理。如当某个磁盘损坏时,重建镜像,系统重构等等。

高可靠性不一定起作用,磁盘损坏和性能问题混杂,损坏时仍然试图读写,使应用进入假死状态。

高可靠性的备份,冗余设计使系统更加复杂。出现部件问题的可能增加。

高可靠性系统一般对企业非常重要,一旦出现应用不能正常运行会严重影响企业业务和信誉。现实中很多高可靠系统的问题,都造成很大影响,如: amazon和google的云和邮件系统服务中断,铁路售票系统,银行系统不能提供服务等等。

监控系统针对问题进行自动的处理,如:用户切换,设备重新配置和启动,拷贝和移动大量数据等等。需要监控这些操作的运行,防止影响应用的正常运行。很多高可靠系统出现的应用不能运行的问题时由于系统自动处理。如:amazon的系统服务中断是由于某个磁盘损坏后,系统试图重建备份,但使用所备份数据的应用和备份数据的操作使用资源超过网络容量,系统试图重新分配网络。网络配置变化引起备份策略的改变,产生更多的网络流量和调整,最终使整个网络拥挤,应用不能正常访问。

监控高可靠性系统


确认应用和底层系统真实可用。在发生部件问题,虽然应用系统继续运行,需要及时提醒处理,防止新的问题出现,使应用运行受到影响。

对于高可靠系统设置的自动处理,需要密切监视,确定其按要求执行产生预定效果,并且没有影响应用的运行。如:当某个数据库崩溃时,系统会自动将用户切换到其他节点上,需要注意被切换用户是否出现拒绝访问,等待超时问题,同时需要监视现有用户的性能是否受到影响。对于可能需要大量资源的操作如数据备份,镜像重建等操作,应该在自动启动前计算当前可用资源能否满足要求,并对应用运行的影响在容许范围,在处理过程中需要密切监视资源使用和应用性能,当出现问题苗头时,及时处理,如限制应用用户操作或者中断备份操作,然后在适当的时候,进行处理。

集成应用监控与系统维护操作监控

集成应用监控与系统维护操作监控是保证高可靠系统应用正常运行的技术关键。