notifu 1.6.3 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/notifu/actors/gammu_sms_bridge.rb +4 -20
- data/lib/notifu/actors/pagerduty.rb +18 -27
- data/lib/notifu/actors/slack.rb +36 -49
- data/lib/notifu/actors/smtp.rb +22 -34
- data/lib/notifu/actors/stdout.rb +3 -4
- data/lib/notifu/actors/twilio_call.rb +0 -1
- data/lib/notifu/mixins.rb +2 -2
- data/lib/notifu/model/contact.rb +4 -1
- data/lib/notifu/util.rb +9 -0
- data/lib/notifu/workers/actor.rb +45 -3
- data/lib/notifu/workers/processor.rb +7 -21
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3675e110c2b3899f1cb8a54bab95fc452b42eba6
|
4
|
+
data.tar.gz: 540012ec1cd765b36e8cfe390fa5528fe8f15032
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 902f012ad82d980285c8f010bbf508ba1963f1ef03c835aa585324a201b14e788367c8e7b847bf2961350c9c4882a5720fe8d9d7fd5121a22282c627b48fdf4f
|
7
|
+
data.tar.gz: f8b27fa397401295ffad30e762a1b4d9ee519f6d85b24b2b38242c41a70198768f7816897660c3ce0e3ec77b44ecd4426407b85233286b2d802b17d92aebefb8
|
@@ -7,24 +7,11 @@ module Notifu
|
|
7
7
|
self.retry = 3
|
8
8
|
|
9
9
|
def act
|
10
|
-
data = OpenStruct.new({
|
11
|
-
notifu_id: self.issue.notifu_id,
|
12
|
-
host: self.issue.host,
|
13
|
-
message: self.issue.message,
|
14
|
-
service: self.issue.service,
|
15
|
-
status: self.issue.code.to_state,
|
16
|
-
first_event: Time.at(self.issue.time_created.to_i),
|
17
|
-
duration: (Time.now.to_i - self.issue.time_created.to_i).duration,
|
18
|
-
occurrences_count: self.issue.occurrences_count,
|
19
|
-
occurrences_trigger: self.issue.occurrences_trigger
|
20
|
-
})
|
21
|
-
message = ERB.new(self.template).result(data.instance_eval {binding})
|
22
|
-
|
23
10
|
self.contacts.each do |contact|
|
24
11
|
cell = contact.cell
|
25
|
-
|
26
|
-
|
27
|
-
|
12
|
+
tmpl = contact.sms_template
|
13
|
+
tmpl ||= default_template
|
14
|
+
message = self.apply_template tmpl
|
28
15
|
# send message to sms-bridge
|
29
16
|
socket = TCPSocket.new Notifu::CONFIG[:actors][:gammu_sms_bridge][:host], Notifu::CONFIG[:actors][:gammu_sms_bridge][port]
|
30
17
|
socket.send contact.cell.to_s + "--" + message
|
@@ -33,9 +20,6 @@ module Notifu
|
|
33
20
|
end
|
34
21
|
end
|
35
22
|
|
36
|
-
def template
|
37
|
-
"<%= data[:status] %> [<%= data[:host] %>/<%= data[:service] %>]: (<%= data[:message] %>) <%= data[:duration] %> [<%= data[:notifu_id] %>]"
|
38
|
-
end
|
39
23
|
end
|
40
24
|
end
|
41
|
-
end
|
25
|
+
end
|
@@ -3,7 +3,6 @@ module Notifu
|
|
3
3
|
class Pagerduty < Notifu::Actor
|
4
4
|
|
5
5
|
require 'excon'
|
6
|
-
require 'erb'
|
7
6
|
|
8
7
|
self.name = "pagerduty"
|
9
8
|
self.desc = "Sends event to pagerduty"
|
@@ -16,11 +15,12 @@ module Notifu
|
|
16
15
|
description: self.text,
|
17
16
|
incident_key: self.issue.notifu_id,
|
18
17
|
details: {
|
19
|
-
status: self.issue.code.to_state,
|
20
|
-
dc: self.issue.datacenter,
|
21
18
|
host: self.issue.host,
|
19
|
+
address: self.issue.address,
|
22
20
|
service: self.issue.service,
|
23
21
|
message: self.issue.message,
|
22
|
+
status: self.issue.code.to_state,
|
23
|
+
datacenter: self.issue.datacenter,
|
24
24
|
first_event: Time.at(self.issue.time_created.to_i),
|
25
25
|
},
|
26
26
|
client: "Sensu",
|
@@ -28,40 +28,31 @@ module Notifu
|
|
28
28
|
}
|
29
29
|
end
|
30
30
|
|
31
|
-
def text
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
host: self.issue.host,
|
36
|
-
service: self.issue.service,
|
37
|
-
message: self.issue.message,
|
38
|
-
status: self.issue.code.to_state
|
39
|
-
})
|
40
|
-
ERB.new(self.template).result(data.instance_eval {binding})
|
31
|
+
def text(c)
|
32
|
+
t = c.pagerduty_template
|
33
|
+
t ||= self.default_template
|
34
|
+
self.apply_template t
|
41
35
|
end
|
42
36
|
|
43
|
-
def template
|
44
|
-
"<%= data[:status] %> [<%= data[:datacenter] %>/<%= data[:host] %>/<%= data[:service] %>]: <%= data[:message] %>"
|
45
|
-
end
|
46
37
|
|
47
38
|
def act
|
48
39
|
type = "resolve" if self.issue.code.to_i == 0
|
49
40
|
type ||= "trigger"
|
50
41
|
|
51
42
|
self.contacts.each do |contact|
|
43
|
+
contact.pagerduty_id || next
|
44
|
+
|
52
45
|
begin
|
53
|
-
|
54
|
-
|
55
|
-
|
46
|
+
Excon.post(Notifu::CONFIG[:actors][:pagerduty][:url],
|
47
|
+
tcp_nodelay: true,
|
48
|
+
headers: { "ContentType" => "application/json" },
|
49
|
+
body: self.post_data(type, c).to_json,
|
50
|
+
expects: [ 200 ],
|
51
|
+
idempotent: true,
|
52
|
+
)
|
53
|
+
rescue Exception => e
|
54
|
+
log "error", "Failed to send event to PagerDuty - #{e.class}: #{e.message}"
|
56
55
|
end
|
57
|
-
|
58
|
-
Excon.post(Notifu::CONFIG[:actors][:pagerduty][:url],
|
59
|
-
tcp_nodelay: true,
|
60
|
-
headers: { "ContentType" => "application/json" },
|
61
|
-
body: self.post_data(type, c).to_json,
|
62
|
-
expects: [ 200 ],
|
63
|
-
idempotent: true,
|
64
|
-
) if c
|
65
56
|
end
|
66
57
|
end
|
67
58
|
|
data/lib/notifu/actors/slack.rb
CHANGED
@@ -3,19 +3,18 @@ module Notifu
|
|
3
3
|
class Slack < Notifu::Actor
|
4
4
|
|
5
5
|
require 'excon'
|
6
|
-
require 'erb'
|
7
6
|
|
8
7
|
self.name = "slack"
|
9
8
|
self.desc = "Notifies to Slack channel via Webhook"
|
10
9
|
self.retry = 3
|
11
10
|
|
12
|
-
def post_data(rich
|
11
|
+
def post_data(template, rich)
|
13
12
|
return {
|
14
13
|
username: "notifu",
|
15
14
|
icon_emoji: ":loudspeaker:",
|
16
15
|
attachments: [
|
17
16
|
{
|
18
|
-
fallback: self.
|
17
|
+
fallback: self.apply_template(self.fallback_template),
|
19
18
|
color: self.color,
|
20
19
|
title: "#{self.issue.host} - #{self.issue.service}",
|
21
20
|
title_link: "#{Notifu::CONFIG[:uchiwa_url]}/#/client/#{self.issue.datacenter}/#{self.issue.host}?check=#{self.issue.service}",
|
@@ -34,14 +33,27 @@ module Notifu
|
|
34
33
|
]
|
35
34
|
}
|
36
35
|
]
|
37
|
-
} if rich
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
} if rich != nil
|
37
|
+
|
38
|
+
template ||= self.default_template
|
39
|
+
return { username: "notifu", icon_emoji: ":loudspeaker:", text: self.text }
|
40
|
+
end
|
41
|
+
|
42
|
+
def text(c)
|
43
|
+
t = c.slack_template
|
44
|
+
t ||= self.default_template
|
45
|
+
self.apply_template t
|
46
|
+
end
|
47
|
+
|
48
|
+
def default_template
|
49
|
+
"#{self.status_icon} *<<%= uchiwa_url %>|<%= datacenter %>/<%= host %>>* <%= address %> #{self.service_icon} *<%= service %>* - <%= message %> _<%= duration %>_"
|
50
|
+
end
|
51
|
+
|
52
|
+
def fallback_template
|
53
|
+
"<%= status %> | <%= datacenter%>/<%= host %>/<%= service %> - <%= message %>"
|
43
54
|
end
|
44
55
|
|
56
|
+
|
45
57
|
def color
|
46
58
|
case self.issue.code.to_i
|
47
59
|
when 0
|
@@ -76,50 +88,25 @@ module Notifu
|
|
76
88
|
@service_icon ||= ":gear:"
|
77
89
|
end
|
78
90
|
|
79
|
-
# fallback simple message (templated, see below)
|
80
|
-
def text(tmpl)
|
81
|
-
data = OpenStruct.new({
|
82
|
-
notifu_id: self.issue.notifu_id,
|
83
|
-
datacenter: self.issue.datacenter,
|
84
|
-
host: self.issue.host,
|
85
|
-
address: self.issue.address,
|
86
|
-
service: self.issue.service,
|
87
|
-
message: self.issue.message,
|
88
|
-
status: self.issue.code.to_state,
|
89
|
-
duration: (Time.now.to_i - self.issue.time_created.to_i).duration,
|
90
|
-
uchiwa_url: "#{Notifu::CONFIG[:uchiwa_url]}/#/client/#{self.issue.datacenter}/#{self.issue.host}?check=#{self.issue.service}",
|
91
|
-
service_icon: self.service_icon,
|
92
|
-
status_icon: self.status_icon
|
93
|
-
})
|
94
|
-
ERB.new(tmpl).result(data.instance_eval {binding})
|
95
|
-
end
|
96
|
-
|
97
|
-
# template for fallback message
|
98
|
-
def fallback_template
|
99
|
-
"*<%= data[:status] %>* <%= data[:datacenter]%> <%= data[:host] %> <%= data[:service] %> - <%= data[:message] %> (<%= data[:duration] %>) <%= data[:uchiwa_url] %>"
|
100
|
-
end
|
101
|
-
|
102
|
-
# template for plain message
|
103
|
-
def template
|
104
|
-
"<%= data[:status_icon] %> *<<%= data[:uchiwa_url] %>|<%= data[:datacenter] %>/<%= data[:host] %>>* <%= data[:address] %> <%= data[:service_icon] %> *<%= data[:service] %>* - <%= data[:message] %> _<%= data[:duration] %>_"
|
105
|
-
end
|
106
|
-
|
107
91
|
def act
|
108
92
|
self.contacts.each do |contact|
|
93
|
+
if contact.slack_id != nil
|
94
|
+
data = self.post_data(contact.slack_template, contact.slack_rich).merge({ channel: contact.slack_id })
|
95
|
+
else
|
96
|
+
data = self.post_data(contact.slack_template, contact.slack_rich)
|
97
|
+
end
|
98
|
+
|
109
99
|
begin
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
100
|
+
Excon.post(Notifu::CONFIG[:actors][:slack][:url],
|
101
|
+
tcp_nodelay: true,
|
102
|
+
headers: { "ContentType" => "application/json" },
|
103
|
+
body: data.to_json,
|
104
|
+
expects: [ 200 ],
|
105
|
+
idempotent: true
|
106
|
+
)
|
107
|
+
rescue Exception => e
|
108
|
+
log "error", "Failed to send message to Slack - #{e.class}: #{e.message}"
|
114
109
|
end
|
115
|
-
puts data.to_yaml
|
116
|
-
Excon.post(Notifu::CONFIG[:actors][:slack][:url],
|
117
|
-
tcp_nodelay: true,
|
118
|
-
headers: { "ContentType" => "application/json" },
|
119
|
-
body: data.to_json,
|
120
|
-
expects: [ 200 ],
|
121
|
-
idempotent: true
|
122
|
-
)
|
123
110
|
end
|
124
111
|
end
|
125
112
|
|
data/lib/notifu/actors/smtp.rb
CHANGED
@@ -2,7 +2,6 @@ module Notifu
|
|
2
2
|
module Actors
|
3
3
|
class Smtp < Notifu::Actor
|
4
4
|
|
5
|
-
require 'ostruct'
|
6
5
|
require 'mail'
|
7
6
|
|
8
7
|
self.name = "smtp"
|
@@ -10,23 +9,12 @@ module Notifu
|
|
10
9
|
self.retry = 2
|
11
10
|
|
12
11
|
def act
|
13
|
-
data = OpenStruct.new({
|
14
|
-
notifu_id: self.issue.notifu_id,
|
15
|
-
host: self.issue.host,
|
16
|
-
message: self.issue.message,
|
17
|
-
service: self.issue.service,
|
18
|
-
status: self.issue.code.to_state,
|
19
|
-
first_event: Time.at(self.issue.time_created.to_i),
|
20
|
-
duration: (Time.now.to_i - self.issue.time_created.to_i).duration,
|
21
|
-
occurrences_count: self.issue.occurrences_count,
|
22
|
-
occurrences_trigger: self.issue.occurrences_trigger
|
23
|
-
})
|
24
12
|
contacts = self.contacts.map { |contact| "#{contact.full_name} <#{contact.mail}>"}
|
25
|
-
text_message =
|
26
|
-
html_message =
|
13
|
+
text_message = self.apply_template(self.text_template)
|
14
|
+
html_message = self.apply_template(self.html_template)
|
27
15
|
mail = Mail.new do
|
28
16
|
from Notifu::CONFIG[:actors][:smtp][:from]
|
29
|
-
subject "#{
|
17
|
+
subject "#{self.issue.code.to_state]}: #{self.issue.host]}/#{self.issue.service]}"
|
30
18
|
to contacts
|
31
19
|
text_part do
|
32
20
|
body text_message
|
@@ -42,32 +30,32 @@ module Notifu
|
|
42
30
|
|
43
31
|
def text_template
|
44
32
|
%{
|
45
|
-
<%=
|
46
|
-
|
47
|
-
Notifu ID: <%=
|
48
|
-
Host: <%=
|
49
|
-
Service: <%=
|
50
|
-
Status: <%=
|
51
|
-
First event: <%= Time.at(
|
52
|
-
Duration: <%=
|
53
|
-
Occurences: <%=
|
33
|
+
<%= message %>
|
34
|
+
|
35
|
+
Notifu ID: <%= notifu_id %>
|
36
|
+
Host: <%= host %>
|
37
|
+
Service: <%= service %>
|
38
|
+
Status: <%= status %>
|
39
|
+
First event: <%= Time.at(first_event).to_s %>
|
40
|
+
Duration: <%= duration %>
|
41
|
+
Occurences: <%= occurrences_count %>/<%= occurrences_trigger %> (occured/trigger)
|
54
42
|
}
|
55
43
|
end
|
56
44
|
|
57
45
|
def html_template
|
58
46
|
%{
|
59
|
-
<h3><%=
|
60
|
-
|
61
|
-
<strong>Notifu ID: </strong><%=
|
62
|
-
<strong>Host: </strong><%=
|
63
|
-
<strong>Service: </strong><%=
|
64
|
-
<strong>Status: </strong><%=
|
65
|
-
<strong>First event: </strong><%= Time.at(
|
66
|
-
<strong>Duration: </strong><%=
|
67
|
-
<strong>Occurences: </strong><%=
|
47
|
+
<h3><%= message %></h3><br/>
|
48
|
+
|
49
|
+
<strong>Notifu ID: </strong><%= notifu_id %><br/>
|
50
|
+
<strong>Host: </strong><%= host %><br/>
|
51
|
+
<strong>Service: </strong><%= service %><br/>
|
52
|
+
<strong>Status: </strong><%= status %><br/>
|
53
|
+
<strong>First event: </strong><%= Time.at(first_event).to_s %><br/>
|
54
|
+
<strong>Duration: </strong><%= duration %><br/>
|
55
|
+
<strong>Occurences: </strong><%= occurrences_count %>/<%= occurrences_trigger %> (occured/trigger)<br/>
|
68
56
|
}
|
69
57
|
end
|
70
58
|
|
71
59
|
end
|
72
60
|
end
|
73
|
-
end
|
61
|
+
end
|
data/lib/notifu/actors/stdout.rb
CHANGED
@@ -3,14 +3,13 @@ module Notifu
|
|
3
3
|
class Stdout < Notifu::Actor
|
4
4
|
|
5
5
|
self.name = "stdout"
|
6
|
-
self.desc = "STDOUT notifier, useful for
|
6
|
+
self.desc = "STDOUT notifier, useful for testing"
|
7
7
|
self.retry = 0
|
8
8
|
|
9
9
|
def act
|
10
|
-
puts self.
|
11
|
-
puts self.contacts.to_yaml
|
10
|
+
puts self.apply_template(self.default_template)
|
12
11
|
end
|
13
12
|
|
14
13
|
end
|
15
14
|
end
|
16
|
-
end
|
15
|
+
end
|
data/lib/notifu/mixins.rb
CHANGED
@@ -13,9 +13,9 @@ class Numeric
|
|
13
13
|
days = hours / 24
|
14
14
|
|
15
15
|
if days > 0
|
16
|
-
"#{days}d, #{hours % 24}h"
|
16
|
+
"#{days}d, #{hours % 24}h, #{mins % 60}min, #{secs % 60}s"
|
17
17
|
elsif hours > 0
|
18
|
-
"#{hours}h, #{mins % 60}min"
|
18
|
+
"#{hours}h, #{mins % 60}min, #{secs % 60}s"
|
19
19
|
elsif mins > 0
|
20
20
|
"#{mins}min, #{secs % 60}s"
|
21
21
|
elsif secs >= 0
|
data/lib/notifu/model/contact.rb
CHANGED
@@ -6,9 +6,12 @@ module Notifu
|
|
6
6
|
attribute :full_name
|
7
7
|
attribute :cell
|
8
8
|
attribute :mail
|
9
|
+
attribute :pagerduty_id
|
10
|
+
attribute :pagerduty_template
|
9
11
|
attribute :slack_id
|
10
12
|
attribute :slack_rich
|
11
|
-
attribute :
|
13
|
+
attribute :slack_template
|
14
|
+
attribute :sms_template
|
12
15
|
index :name
|
13
16
|
unique :name
|
14
17
|
|
data/lib/notifu/util.rb
CHANGED
@@ -5,5 +5,14 @@ module Notifu
|
|
5
5
|
self.instance_variable_set args.keys.first, args.values.first
|
6
6
|
end
|
7
7
|
|
8
|
+
def self.log(prio, msg)
|
9
|
+
$logger.log prio, "JID-#{self.jid}: " + msg.to_s
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.action_log event(worker)
|
13
|
+
$logger.action_log worker, event
|
14
|
+
end
|
15
|
+
|
16
|
+
|
8
17
|
end
|
9
18
|
end
|
data/lib/notifu/workers/actor.rb
CHANGED
@@ -21,6 +21,9 @@ module Notifu
|
|
21
21
|
include Notifu::Util
|
22
22
|
include Sidekiq::Worker
|
23
23
|
|
24
|
+
require 'erb'
|
25
|
+
require 'ostruct'
|
26
|
+
|
24
27
|
attr_accessor :issue
|
25
28
|
attr_accessor :contacts
|
26
29
|
|
@@ -41,14 +44,53 @@ module Notifu
|
|
41
44
|
sidekiq_options :retry => self.retry
|
42
45
|
|
43
46
|
def perform *args
|
44
|
-
sleep
|
45
|
-
load_data args
|
47
|
+
sleep 1
|
48
|
+
load_data args || return
|
46
49
|
act
|
47
50
|
end
|
48
51
|
|
49
52
|
def load_data args
|
50
53
|
self.issue = Notifu::Model::Issue.with(:notifu_id, args[0])
|
51
|
-
self.
|
54
|
+
if self.issue == nil
|
55
|
+
log "error", "Issue with NID #{args[0]} doesn't exist!"
|
56
|
+
return false
|
57
|
+
end
|
58
|
+
self.contacts = Array.new
|
59
|
+
args[1].each do |contact|
|
60
|
+
c = Notifu::Model::Contact.with(:name, contact)
|
61
|
+
self.contacts << c if c
|
62
|
+
end
|
63
|
+
return true
|
64
|
+
end
|
65
|
+
|
66
|
+
def apply_template t
|
67
|
+
@data ||= OpenStruct.new({
|
68
|
+
notifu_id: self.issue.notifu_id,
|
69
|
+
datacenter: self.issue.datacenter,
|
70
|
+
host: self.issue.host,
|
71
|
+
service: self.issue.service,
|
72
|
+
status: self.issue.code.to_state,
|
73
|
+
code: self.issue.code.to_s,
|
74
|
+
message: self.issue.message,
|
75
|
+
first_event: Time.at(self.issue.time_created.to_i),
|
76
|
+
duration: (Time.now.to_i - self.issue.time_created.to_i).duration,
|
77
|
+
interval: self.issue.interval.duration,
|
78
|
+
refresh: self.issue.refresh.duration,
|
79
|
+
occurrences_count: self.issue.occurrences_count,
|
80
|
+
occurrences_trigger: self.issue.occurrences_trigger,
|
81
|
+
uchiwa_url: "#{Notifu::CONFIG[:uchiwa_url]}/#/client/#{self.issue.datacenter}/#{self.issue.host}?check=#{self.issue.service}",
|
82
|
+
playbook: self.issue.playbook
|
83
|
+
})
|
84
|
+
begin
|
85
|
+
ERB.new(t).result(@data.instance_eval { binding })
|
86
|
+
rescue Exception => e
|
87
|
+
log "error", "Failed to render ERB template - #{e.class}: #{e.message}"
|
88
|
+
ERB.new(default_template).result(@data.instance_eval {binding})
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def default_template
|
93
|
+
"<%= status %> [<%= dc %>/<%= host %>/<%= service %>]: (<%= message %>) <%= duration %> [<%= notifu_id %>]"
|
52
94
|
end
|
53
95
|
|
54
96
|
end
|
@@ -170,7 +170,7 @@ module Notifu
|
|
170
170
|
:"@timestamp" => self.now.iso8601,
|
171
171
|
}
|
172
172
|
|
173
|
-
action_log action_log_message
|
173
|
+
action_log "processor", action_log_message
|
174
174
|
|
175
175
|
end
|
176
176
|
|
@@ -365,7 +365,7 @@ module Notifu
|
|
365
365
|
sensu_api = Excon.get("#{self.event.api_endpoint}/silenced", user: Notifu::CONFIG[:sensu_api][:username], password: Notifu::CONFIG[:sensu_api][:password])
|
366
366
|
return JSON.parse sensu_api.body
|
367
367
|
rescue Exception => e
|
368
|
-
log "error", "Failed to get stashes #{self.event.api_endpoint}/stashes (#{e.message})"
|
368
|
+
log "error", "Failed to get stashes - GET #{self.event.api_endpoint}/stashes (#{e.message})"
|
369
369
|
return []
|
370
370
|
end
|
371
371
|
end
|
@@ -382,33 +382,23 @@ module Notifu
|
|
382
382
|
if self.event.unsilence
|
383
383
|
begin
|
384
384
|
Excon.delete("#{self.event.api_endpoint}/stashes/silence/#{self.event.host}/#{self.event.service}", user: Notifu::CONFIG[:sensu_api][:username], password: Notifu::CONFIG[:sensu_api][:password])
|
385
|
-
log "info", "
|
386
|
-
rescue
|
387
|
-
log "warning", "Failed to
|
385
|
+
log "info", "Unsilenced #{self.event.host}/#{self.event.service} after recovery"
|
386
|
+
rescue Exception => e
|
387
|
+
log "warning", "Failed to unsilence - DELETE #{self.event.api_endpoint}/stashes/silence/#{self.event.host}/#{self.event.service} (#{e.message})"
|
388
388
|
end
|
389
389
|
else
|
390
|
-
log "info", "#{self.event.host}/#{self.event.service} left
|
390
|
+
log "info", "#{self.event.host}/#{self.event.service} left silenced (auto-unsilence disabled)"
|
391
391
|
end
|
392
392
|
else
|
393
|
-
log "info", "#{self.event.host}/#{self.event.service} left
|
393
|
+
log "info", "#{self.event.host}/#{self.event.service} left silenced (auto-unsilence doesn't work when TTL is defined)"
|
394
394
|
end
|
395
395
|
end
|
396
396
|
end
|
397
397
|
end
|
398
398
|
|
399
|
-
##
|
400
|
-
# logging method
|
401
|
-
#
|
402
|
-
def log(prio, msg)
|
403
|
-
$logger.log prio, "JID-#{self.jid}: " + msg.to_s
|
404
|
-
end
|
405
|
-
|
406
399
|
##
|
407
400
|
# action logging method
|
408
401
|
#
|
409
|
-
def action_log event
|
410
|
-
$logger.action_log "processor", event
|
411
|
-
end
|
412
402
|
|
413
403
|
end
|
414
404
|
end
|
@@ -437,9 +427,5 @@ module Notifu
|
|
437
427
|
end
|
438
428
|
end
|
439
429
|
|
440
|
-
def log(prio, msg)
|
441
|
-
$logger.log prio, "JID-#{self.jid}: " + msg.to_s
|
442
|
-
end
|
443
|
-
|
444
430
|
end
|
445
431
|
end
|