最近客户的环境中偶尔有服务器的系统服务出现自动停止的情况,虽然说SCOM能够监控到服务停止并发出报警,但是还得系统管理员登录服务器手动将服务启动,如果系统管理员不在场或者非工作时间发生问题,这就可能会造成服务长时间不可用的情况。由于服务的意外停止是不可预知的,为了确保服务异常时能够尽快恢复,避免影响到应用服务,小弟我又研究了一下SCOM的Recovery task,通过它可以实现服务的自动启动,当监控器监测到服务处于停止状态时,Recovery Task会自动将该服务开启。这么一来,我们的系统管理员就能够从中解脱出来,不用时刻盯着报警,发生服务停止时,Recovery task会帮助我们处理,节省时间的同时还提高了故障的处理响应速度。

          说了这么多,下面还是详细介绍一下在SCOM中如何去创建自动恢复任务,让大家有一个清晰的了解,当环境中出现类似问题时也可以借助这种方法进行故障的自动处理。

首先,我们需要创建一个monitor,以便可以监控到服务的运行状态。在Scom Console中,点击Authoring,定位到如下图位置,然后鼠标右击Monitors,选择Create a Monitor,Unit Monitor:

clip_image002[6]

在弹出的Create a unit monitor窗口中选择一个监控器的类型,在此我们选择Basic Service Monitor,接着为Monitor选择存放管理包的位置,然后单击下一步,如下图所示:

clip_image004[4]

在General Properties窗口中为Monitor指定一个名称,然后选择Monitor需要监控的目标类型,在此选择Windows Server Operating System,然后单击下一步,如下图所示:

clip_image006[4]

在Service Details窗口中选择需要监控的服务名称,如下图所示:

clip_image008[4]

在Configure Health窗口中单击下一步,如下图所示:

clip_image010[4]

在Configure Alerts窗口中根据实际需求配置是否产生报警,然后单击Create按钮,如下图所示:

clip_image012[4]

经过前面的操作后,监控器已经创建完成,下面我们还需要为监控器创建一个Recovery Task,只有创建完Recovery Task后,SCOM才会将出问题的服务进行自动开启。

在Authoring窗口中找到刚才创建好的Monitor,双击它打开属性窗口,切换到Diagnostic and Recovery页面,在窗口下方的Configure recovery tasks中选择Add,Recovery for critical health state,如下图所示:

clip_image014[4]

在Select Recovery task type窗口选择Run Command,然后单击下一步,如下图所示:

clip_image016[4]

在Recovery Task Name and Description窗口中为Recovery Task指定一个名称,进行如下图配置后单击下一步:

clip_image018[4]

在Configure Command Line Execution Settings窗口进行如下配置后单击Create按钮,至此,Recovery Task的创建操作已经完成。

clip_image020[4]

clip_image021[4]

验证方法:

找一台安装了Scom Agent的服务器,将Server服务手动停止,观察一会看服务能否自动开启,如能正常启动,说明Recovery Task已经可以正常工作。