配置短信发送规则
2014-11-28 23:26:50 14 举报
虚拟机出故障后,向客户管理人员发送短信告警信息。(此任务设置为1min、4min、10min、1h、1h后每小时发送一次)
作者其他创作
大纲/内容
发生告警信息
根据phone获取MessageContacts对象,再获取type
遍历短信告警messageMap的keySet
content参数:从map中获取ResourceMonitor对象集合
满足
将key与MessageContent对象存入map中
1.移除已不存在的设备(judgeExists)2.移除资源正常的设备(judgeNormal)
1.整理短信内容(toText(ResourceMonitor))2.获取告警等级(judgeMessageLevel)3.获取号码集合(getPhonesByDeviceid)
如果短信发送方式为自动and发送次数小于4次
满足短信发送时间段
resendMessage(id)查询数据库,失败的短信可重发(将发送的短信设置为success,再次发送相同短信设置为sending)
map(key,value)key:deviceid+resourcevalue:MessageContent对象
WarningJob告警任务(执行告警并发送邮件)
1.DeviceMonitorEntity(cpu、memory、disk、networkStatus)2.DevicesMonitorService的checkMount()和getStorageDisk()
MessageContent对象包括:ResourceMonitor对象Date warningTime发送告警时间int number发送短信次数int warningNum发送告警次数
每30s调用
遍历phone集合
WarningScheduler任务调度器
短信发送规则
judgeSendType判断是自动还是手动
每3min调用
sendWarningMessage(content、phone、num、level、sendType)1.发送短信(内容、电话、唯一标识、告警等级、是否发送)2.更改数据库isNote字段为sending
judgeTime判断是否满足发送规则时间差(1min、4min、10min、1h)
MessageWarningJob配置短信发送规则
从监控中获取数据判断设备的资源是否正常
1.数据插入数据库(phone、content、deviceAndResource)2.更改数据库isNote字段为notsend
抽出短信方法sendWarningMessage(String content)
接收预警平台返回值,更改数据库(成功:isnote为true,失败:isnote为false)
3.对于虚拟机:根据设备id获取项目id,然后获取该项目下的设置phone集合对于物理机和存储:
短信发送记录+1
0 条评论
回复 删除
下一页