前言:

Zenoss提供了强大的事件告警通知功能,它提供两种方式,Email和pages(短信还是BB机?)。Email实时性不强,Pages又不知道怎么去配置,可能需要短信网关之类的吧。如何让zenoss的事件能第一时间通知到管理员呢?

幸好我们的移动还是不错的,提供了免费的139.com的邮箱,并且有短信提醒功能。我们可以设置139.com作为接受alert的email,开启短信提醒就能实现事件的短信提醒了。Pages功能让它一边呆着去吧。可惜139也不能提供可根据规则来触发的短信提醒。


Zenoss用户的角色

Zenoss Core默认有三种Role:
Manager: 超级用户,能做任何事情。
zenManager: 文档中并没有提到的role,似乎介于Manager和zenUser之间,能针对Device做修改。
zenUser: 只读用户

按照Zenoss的说法,想要完善的用户权限控制,那就Enterprise版吧,呵呵。(这里的测试只对admin)。

配置

点击Settings,进入管理设置界面,第一页填写SMTP的信息,这里我们直接使用139.com的配置:
SMTP host: smtp.139.com
SMTP port: 25
SMTP username: <你的手机号或者别名>
SMTP password: <密码>
From Address for Emails:<你的手机号@139.com>

发送SMTP也可以使用别的,我使用139.com是因为他比较快,而且在发送箱里有发送邮件的备份。

点击User -> admin,在Email处输入admin的139邮箱

点击Alerting Rules标签,下拉菜单,Add Alerting Rules,输入rule的名字:Test,然后点击Test进行设置:
Delay: Event发生之后延迟多少秒才发送通知,如果在此时间内Event清除,则不发通知。
Enabled:True 开启alert
Action: email
Address(optional):此处填写Email地址,则用户地址无效
Repert Time(sec): 每隔多少秒重复发送alert,直到该Event被acknowledg
Where:这里可以通过多种规则来判断是否发送alert,这个设计相当不错,用户可根据Severity,Priority,Device等来分别设置不同设备不同级别的告警发送给不同的人

设置完成点击Save,回到Users标签,在用户Email后面有test,点击可发送测试邮件,看看是否能收到。

利用Delay的功能用户可以实现在IT部门内部进行分级发送,比如一个事件发生立即发送给工程师A,在一段时间内(如3600秒)该事件还未处理,则发送给工程师A的老板,哈哈。有了这个设置,A还不老老实实勤快的干活?

经过测试,效果不错,139.com的邮件和短信提醒非常快速。