善用触发器,让服务器系统自动报警

善用触发器,让服务器系统自动报警

作者: 帷幄,  出处:IT168, 责任编辑: 罗丽艳, 
2008-02-26 11:49
  eventtriggers程序命令是Windows 2003服务器系统所特有的,而Windows 2000服务器系统并没有这样的功能。

  Windows 2003服务器系统自带有日志文件记录功能,该功能可以自动将服务器系统中发生的各项事件活动记录保存下来,包括网络访问、软件运行以及资源调用等事件,记录的内容有事件描述信息、来源信息、类型信息等;网络管理员通过查看这些记录信息,不但能够及时了解服务器系统的运行状态,而且还能对服务器系统潜在的安全隐患进行及时处理,以便保证服务器系统能够安全运行。不过,网络管理员往往需要主动打开日志记录文件,才能了解到服务器系统的运行状态,才能知道服务器系统中发生了什么重大事件。要是服务器中发生了非常重要的故障或错误,我们能否让服务器系统自动弹出提示,向网络管理员报警呢?例如,服务器系统有时会发生一些稀奇古怪的网络故障,查看系统日志记录文件时,我们往往能够很清楚地看到具体的故障源,我们能否让服务器自动把这些故障源告诉给网络管理员呢?答案是肯定的!我们可以巧妙地利用Windows 2003服务器系统自带的“事件触发器”功能,来为服务器安装一个事件触发器,确保服务器发生重大事件时能够自动弹出相关提示,从而实现自动报警的目的。

  安装系统事件触发器

  一般来说,Windows 2003服务器系统都内置有eventtriggers.exe这样一个程序,利用这个程序我们就能轻易地在服务器系统中安装事件触发器。在安装系统事件触发器时,我们可以先以超级管理员权限进入Windows 2003服务器系统,在该系统桌面中依次单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入字符串命令“cmd”,单击“确定”按钮后,将系统运行状态切换到MS-DOS命令行状态,在该状态下我们就能使用eventtriggers程序命令来安装系统事件触发器了。

  为了有效地用好eventtriggers程序命令,我们可以先在DOS命令提示符下输入字符串命令“eventtriggers /?”,单击回车键后,屏幕上将出现如图1所示的结果界面,从该界面中我们不难看出,要创建新的系统事件触发器,必须要使用“/create”参数;为了更好地用好“/create”参数,我们还需要在DOS命令提示符下继续执行字符串命令“eventtriggers /create /?”,从弹出的如图2所示结果界面中,我们会发现“/create”参数下面还带有许多条件参数;为了有针对性地在服务器系统中创建新的事件触发器,我们有必要对这些条件参数进行一下逐一描述。

  

  “/S”参数是用来指定远程服务器或远程工作站的主机名称或IP地址的,该参数一般来说常用于远程管理或维护服务器的场合,其中system指的就是远程服务器或远程工作站的主机名称或IP地址。

  “/U”参数是用来指定登录远程服务器或远程工作站时所使用的用户名称信息的,倘若远程服务器是局域网的域服务器时,我们还需要在这里明确指定好域名称信息,不然的话我们将无法登录进远程服务器,其中“domain”指的就是局域网域名称信息,“username”指的就是登录远程服务器或远程工作站时所使用的用户名称信息。

  “/P”参数是用来指定登录远程服务器或远程工作站时所使用的密码信息的,该密码信息通常以明文字符方式显示出来;倘若我们不输入这一项,那么服务器系统将会自动弹出提示,要求我们正确输入远程服务器或远程工作站的密码信息,这个时候输入的密码信息往往会以星号方式显示出来,其中“password”指的就是具体的密码内容。

  “/TR”参数是eventtriggers程序命令必不可少的一个参数,它是用来定义新创建的事件触发器名称信息的,其中 “triggername”指的就是具体事件触发器名称信息。

  “/TK”参数也是eventtriggers程序命令必不可少的一个参数,它是用来指定事件触发器在符合触发条件时需要执行什么操作,其中“taskname”指的就是需要执行的操作任务名称。

  “/EID”参数是用来指定事件触发器需要监控的具体系统事件ID,该参数也是必须要指定的,其中“ID”指的就是具体系统事件标识符号。

  熟悉了上面各个参数的含义后,我们就能使用eventtriggers程序命令来安装系统事件触发器了。比方说,我们现在要在192.168.1.10的远程服务器系统中安装一个新的事件触发器“adduser”,要求该事件触发器在服务器系统中成功增加一个新的用户时就自动触发弹出提示,告诉网络管理员当前服务器系统中新增加了一个用户,假设成功增加新用户的事件ID为“624”。要创建这样的事件触发器时,我们可以在DOS命令提示符下输入字符串命令“eventtriggers /create /s 192.168.1.10 /u username /eid 624 /tr adduser /tk "net send 192.168.1.11 a new user had been added!"”;执行完上述字符串命令后,每当IP地址为192.168.1.10的远程服务器系统中有的新用户加入时,服务器系统就会自动向IP地址为192.168.1.11的普通工作站中发送一条提示信息,告诉网络管理员“a new user had been added!”,如此一来网络管理员就能及时知道服务器系统中用户帐号的创建情况了。

  删除特定事件触发器

  也许为了管理方便,不少网络管理员已经在局域网服务器系统中同时创建了许多个事件触发器,可是过一段时间后,可能有部分事件触发器几乎就用不到了,此时我们不妨将那些暂时用不到的事件触发器删除掉,借助eventtriggers程序命令强大的功能参数,我们可以非常轻松地将远程服务器或本地服务器中的指定事件触发器删除掉。在DOS命令提示符下输入字符串命令 “eventtriggers /?”,单击回车键后,我们会从随后出现的结果界面中,看到要删除指定系统事件触发器时,必须要使用 “/delete”参数;为了更好地用好“/delete”参数,我们还需要在DOS命令提示符下继续执行字符串命令 “eventtriggers /delete /?”,从弹出的如图3所示结果界面中,我们会发现“/delete”参数下面也包含几个条件参数;为了有针对性地在服务器系统中删除特定事件触发器,我们下面就对一些主要条件参数进行一下逐一描述。

  “/S”参数是用来连接远程服务器或远程工作站的,它的具体含义与前面介绍的几乎完全相同。

  “/TID”参数是用来指定即将被删除的目标事件触发器的ID号码,要是“id”号码为“*”号时,那就表示要删除服务器系统中所有的事件触发器。

  比方说,我们现在要想将IP地址为192.168.1.10远程服务器系统中所有的事件触发器全部删除时,那就可以在DOS命令提示符下输入字符串命令“eventtriggers /delete /s 192.168.1.10 /u username /tid *”,单击回车键后,192.168.1.10远程服务器系统中所有的事件触发器就会被自动删除了。倘若我们只想删除192.168.1.10远程服务器系统中“ID”为100号的事件触发器时,那么我们可以在DOS命令提示符下执行字符串命令“eventtriggers /delete /s 192.168.1.10 /u username /tid 100”。

  查看已有事件触发器

  如果我们想清楚地知道远程服务器或远程工作站,在当前时刻究竟有哪些事件触发器存在时,我们可以巧妙借助eventtriggers程序命令的“/query”参数来完成这样的查看目的。“/query”参数下面经常要用到的条件参数就是“/V”参数,该参数主要是用来显示目标事件触发器具体信息的,如果忽略“/V”参数,那么目标服务器系统只会显示事件触发器的基本信息。

  比方说,我们现在想显示本地服务器系统中所有事件触发器的基本信息时,只要在DOS命令提示符下输入字符串命令“eventtriggers /query ”,单击回车键后,我们就能从如图4所示的结果界面中看到本地服务器中所有事件触发器的基本信息了。如果我们想查看IP地址为192.168.1.10远程服务器系统中所有事件触发器的详细信息时,只要在DOS命令提示符下执行字符串命令“eventtriggers /query /s 192.168.1.10 /u username /v”就可以了。

  

  巧让服务器自动报警

  笔者平时一直使用IP地址为192.168.1.11的普通工作站来远程管理192.168.1.10的服务器,为了随时掌握该服务器中的用户帐号信息,笔者希望无论该服务器增加了用户还是删减了用户,都能够在192.168.1.11普通工作站中得到服务器自动发送过来的报警提示信息。为了达到这样的管理目的,笔者分别为增加用户事件和删减用户事件创建了事件触发器;假设增加用户事件的事件触发器名称为“adduser”,对应该事件的ID号码为“624”,删减用户事件的事件触发器名称为“deluser”,对应该事件的ID号码为“630”。在创建增加用户事件的事件触发器时,笔者执行了字符串命令“eventtriggers /create /s 192.168.1.10 /u username /eid 624 /tr adduser /tk "net send 192.168.1.11 a new user had been added!"”;创建好624号事件触发器后,局域网中的任意一位用户在192.168.1.10服务器中新建用户帐号信息时,目标服务器会立即向笔者所在的普通工作站中发送一条提示信息“a new user had been added!”,告诉笔者目标服务器系统有新的用户加入。

  在创建删减用户事件的事件触发器时,笔者执行了字符串命令“eventtriggers /create /s 192.168.1.10 /u username /eid 630 /tr adduser /tk "net send 192.168.1.11 an old user had been deleted!"”;创建好630号事件触发器后,局域网中的任意一位用户在192.168.1.10服务器中删除用户帐号信息时,目标服务器会立即向笔者所在的普通工作站中发送一条提示信息“an old user had been deleted!”,告诉笔者有人在目标服务器系统执行用户删除操作。

  小提示

  eventtriggers程序命令是Windows 2003服务器系统所特有的,而Windows 2000服务器系统并没有这样的功能;不过,我们可以尝试着从Windows 2003服务器系统中,直接将eventtriggers.exe程序文件复制到Windows 2000服务器系统的“X:/Windows/System32”子目录窗口中,那样一来我们就能在Windows 2000服务器系统中利用eventtriggers程序命令来安装事件触发器,从而实现让服务器系统自动报警目的了。

  要是我们发现服务器系统发生了特定事件触发器触发失败的现象时,我们可以尝试重新安装一遍事件触发器,并且在重新安装时可以在eventtriggers.exe程序命令后面增加“/RP”参数和“/RU”参数,这样能够强制“/TK”参数后面的操作任务使用指定的帐号信息,说不定使用上面的参数能够避免触发失败的故障现象。此外,在这里还需要提醒各位注意的是,eventtriggers.exe程序在运行过程中需要系统服务“Task Scheduler”的支持,一旦“Task Scheduler”服务运行状态不正常,那么我们在使用事件触发器的过程中就会碰到故障。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值