Solarwinds实现短信报警
最近在Field的帮助下完成了fetion短信报警,下面以磁盘空间报警为例(采用的是Solarwinds报警后自动...
扫描右侧二维码阅读全文
30
2008/07

Solarwinds实现短信报警

最近在Field的帮助下完成了fetion短信报警,下面以磁盘空间报警为例(采用的是Solarwinds报警后自动执行VbScript调用飞信机器人发送短信报警)

  • 一、 软件环境(Windows 2003为例)

Solarwinds+飞信机器人

  • 二、 安装过程

飞信机器人下载包地址:

WINDOWS(2000/XP/VISTA):支持库??最新程序fetion20080618002-win32.rar??

其中支持库和安装包如下:

fetion20080618002-win32.rar解压缩你指定的目录,支持库?的内容解压缩后复制至和fetion.exe同一目录即可

  • 三、 配置过程
  • 1. Solarwinds报警配置磁盘空间监控

在上图中的Configure Alerts中新建报警DiskStatus,按照你的需要配置监控的服务器,报警的条件,监控的周期等,然后按照下图配置满足报警要求后的Action

?

按照上图添加2个Alert Action

Alert Action 1:log the alert to a file将报警保存为alter.log(可随意指定文件名和目录)

Alert Action 2:Execute an external VBScript指定要执行的VbScript,请将VbScript放在fetion的安装目录下,因为下面的VbScript指定的路径是相对路径

备注:请一定要先设置报警保存的log,然后在设置要执行的VbScript,因为只有先生成log,然后在执行VbScript读取log中的短信报警信息,设置好后如下图:

?

?

配置生效后应该先生成log然后执行VBScript发送短信

  • 2.Log样本如下:

Alert: Percent Space Used of 100.121-D:\ is now 84 %

Alert: Percent Space Used of 100.102-C:\ is now 82 %

  • 3.?VBScript如下:
logfile="G:\LibFetion\install\alert.log"?? '定义报警log请输入Solarwinds中的log设置 fetion_exec="G:\LibFetion\install\fetion" '定义fetion.exe所在位置 fetion_user="135xxxxxxxx"? '定义飞信的登陆用户名或手机号 fetion_passwd="123456"?? '定义飞信的登陆密码 send_buddy="13512345678" '定义短信的接收人,需在你飞信好友列表中 Set objFS = CreateObject ("Scripting.FileSystemObject") objFS.CreateTextFile("mess.txt") Set objNF = objFS.OpenTextFile("mess.txt",8) '所发送的报警信息存放在mess.txt Dim arrFileLines() i = 0 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(logfile, 1)? '读取报警log全部信息 Do Until objFile.AtEndOfStream ???? Redim Preserve arrFileLines(i) ???? arrFileLines(i) = objFile.ReadLine ???? i = i + 1 Loop objFile.Close l = Ubound(arrFileLines) '读取报警log最后一行,因为最近的报警信息永远是最后一行 objNF.writeline "sms? "&send_buddy&" "&arrFileLines(l) '把报警log最后一行信息写入mess.txt objNF.writeline "exit"? '退出飞信机器人 objNF.close????????? 'close mess.txt Set objShell = CreateObject("Wscript.Shell") if objFS.fileExists("mess.txt")=True then? '判断mess.txt是否存在 objShell.run "cmd /C "&fetion_exec&" -u "&fetion_user&" -p "&fetion_passwd&" -b mess.txt",4,True? '执行飞信机器人程序使用fetion_user&fetion_passwd登陆后发送mess.txt中的信息 objFS.DeleteFile("mess.txt")? '删除mess.txt,可以不要 end if

以上内容保存为alter.vbs放在fetion.exe同一目录即可

备注:由于监控的机器不多,而且报警的条件也比较高,所有报警次数比较少,生成的log就比较小,如果每天生成的log很大,建议log每天生成,增加日期变量即可

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

2 comments

  1. Michael Field

    不错,学的真快~ 这么快就用上啦

  2. myfreeke

    呵呵,不错不错,速度之快啊!可惜我不用windows

Leave a Comment