需求:对各服务器中比较严重的告警,通过自动拨打电话通知给运维人员。

思路:通过在一台电脑上安装SKYPE软件作为中转PC,各服务器如果产生告警通过ssh来远程这台中转PC上的SKYPE来自动拨号。

各服务器:LINUX系统
中转PC:可以是WIN或者是LINUX
这里我将以WIN为例,WINDOWS下安装比较简单,LINUX下安装比较复杂。
两种环境下都可以配合脚本使用,比如拨打后,有人接听就不再拨打了。
没有人接听就一直拨打,直接有人接听为止。
这些功能我都有实现。以后再详细讲解,这次先简单说一下整个过程。
转载本站文章请注明出处:haibing.org

一、在中转PC上安装freesshd
参考我的另一篇文章:Linux远程给win7发弹窗告警通知

二、安装skype并设置拨号脚本
下载安装就不说了。
安装完后写个脚本,来让远程各服务器远程执行
写个批处理skype.bat,放到C盘(可随意)
内容如下:
“C:\Program Files (x86)\Skype\Phone\Skype.exe” /callto:+86137xxxxxxxxx;+86137xxxxxxxx

意思就是执行skyp自动拨号(多个手机号同时拨)

三、利用AT命令来产生告警
因为在LINUX下远程执行WIN上的程序,没办法显示图形出来。
可能需要像Xming之类的软件才行。
不过我们这里还是使用WIN下自带的功能来实现LINUX下远程执行WIN上的程序(我觉得很巧妙,真是佩服自己,怎么想出来的)

打开 “控制面板 -》 管理工具 -》服务
要保证其中的“Task Scheduler”服务是开启状态(计划任务的服务)
“Interactive Services Detection”服务是关闭的(要不然还是会拦截远程执行的窗口)
转载本站文章请注明出处:haibing.org

打开 “控制面板 -》 管理工具 -》 任务计划程序”

选择“操作”-“AT服务账户配置(A)”
未命名图片

选择“另一用户账户”,并点击“更改用户”,再输入账户密码(系统一定要设置密码)
未命名图片1

四、各服务器Linux告警脚本命令

可以设置拨打电话+发邮件,拨打电话后,可以再看邮件详细告警记录

#先删除AT告警,要不然会累积很多
ssh 172.31.1.48(中转PC IP地址)”at /delete /yes”
#远程执行命令,用AT命令在中转PC上产生一个在30秒后执行的计划任务
ssh 172.31.1.48(中转PC IP地址) “at $(date +%H:%M:%S -d ’30 second’) cmd /c c:\skype.bat”
#可以设置多个计划任务,多次拨打电话
ssh 172.31.1.48(中转PC IP地址) “at $(date +%H:%M:%S -d ‘2 minutes’) cmd /c c:\skype.bat”
#然后再发送告警邮件
mail…..

1 对 “用skype拨打电话来通知告警”的想法;

  1. Pingback: lace wigs,bob wigs

发表评论