-1
发送的服务状态结果电子邮件
希望有人能帮助我,请使用红宝石
我是相当新的Ruby语言,目前有红宝石的工作运行,告诉我对我的窗口中的一个正在运行的服务的信息2008服务器。
我已经编写了在css小部件上显示输出的代码,但是我的老板已经要求我在发生服务失败的事件中包含电子邮件警报。
我知道如何检查服务,如果状态没有运行,那么会发送一封电子邮件,但如果服务关闭,那么每次作业检查时都会发送一封电子邮件。
我需要一封电子邮件发送服务失败后,然后离开它。我知道我可以使用一个循环来实现这一点,但是我不知道如何将它应用到我的代码中。
这里是我的代码如下
monitors =
[{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'},
{name: 'service display name', svc: 'service name', host: '192.168.2.1'}]
SCHEDULER.every '5s', :first_in => 0 do |job|
statuses = Array.new
monitors.each do |monitor|
status = Service.status(monitor[:svc], monitor[:host]).current_state
if status == "running"
result = 1
else
result = 0
end
if result == 1
arrow = "icon-ok-sign"
color = "green"
else
arrow = "icon-warning-sign"
color = "red"
end
statuses.push({label: monitor[:name], value: result, arrow: arrow, color: color})
的结果= 0,我可能包括SMTP功能,但它只是每个作业运行是每5秒的时间通过电子邮件发送给你
感谢时间
mark