alarm
2017-01-13 18:22:35 0 举报
Alarm是一种警告或提醒装置,通常用于在特定时间或事件发生时发出声音或其他信号。它可以是机械式的、电子式的或者是基于软件的应用程序。闹钟是一种常见的alarm,它通常用于提醒人们起床、上班或参加其他活动。此外,汽车警报器也是一种alarm,它在车辆受到威胁时发出声音以吓跑潜在的入侵者。在一些场合下,如火灾、地震等紧急情况下,警报器也会被用来向人们发出警告。总之,alarm是一种非常有用的工具,可以帮助我们及时做出反应并保护自己和他人的安全。
作者其他创作
大纲/内容
for循环sleep 1minpop所有/queue/usr/sms
get event action
go record(event)向event、currentDB表中记录;g.Events记录
consumeHighEvents写短信、邮件到/sms /mail
清空,push falcon 存入DB pdl_event_count
g.ParseConfig解析配置文件
go cron.StatisticPdlEventCount
生成的短信、邮件存在/queue/user/sms、/queue/user/mail等待合并
go cron.ReadLowEvent(P2-P6)
is callback
生成短信、邮件内容时,域名监控的报警存在特殊性;需要调用xpharos获取监控的域名且需要g.DomainCode进行域名状态的转换
接收stop、kill信号关闭redis连接池
old == nil || old.Status != now.Status || old.CurrentStep now.CurrentStep
Alarm代码
Y
其实只有P2级别合并短信
根据Callback设置,写短信、邮件至redis /sms /mail
popEventredis BRPOP优先pop P0队列的尾部一个元素
consume(event)
for循环sleep1分钟,获取g.PdlEventCount
go cron.CombineSms
g.InitRedisConnPool初始化redis连接池
获取上一次未恢复的event
callback后发的短信为调用API的返回值、调用状态
go http.Start开启http服务(beego)
db.Init初始化mysql连接(alarm_event)
select{}阻塞
P2级别需要产生能够Merge的Sms(生成model.AlarmEventContent)
go cron.ReadHighEvent(P0、P1)
相同status+相同phone+相同metric调用linker生成短链接
for循环不sleep
go cron.CombineMail与短信合并类似,没有用到linker,单纯合并内容
0 条评论
下一页