ymlex 1.1.5 → 1.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ymlex/argusyml.rb +30 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96899ffafbcb57f7b2ef8792a957ddad8ccbcc99
|
4
|
+
data.tar.gz: 9c0f1b151ac551d9b2d66e3b7cb3e434c892b1e3
|
5
5
|
!binary "U0hBNTEy":
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c7ace21693d73fe0ba227a6921cade42911875baf75f4ff319231871ca9e96982cec4e80b240dd51995eb344da231275b2714d8729a41da20cc3d2513c0e5fd
|
7
|
+
data.tar.gz: 0cb37911343551d6c23d7057843997077ae69640434f5bf3ddee0ec53e691bdd77e12a30948b1f69a5710559e650758606e5165af35083832933671faee90a8b
|
data/lib/ymlex/argusyml.rb
CHANGED
@@ -9,7 +9,8 @@ class Alert
|
|
9
9
|
attr :contacts, :default_level
|
10
10
|
def initialize contacts, level={}
|
11
11
|
@contacts = contacts
|
12
|
-
@default_level = { "oncall" => "
|
12
|
+
@default_level = { "oncall" => "#z_ecomop_maop_oncall",
|
13
|
+
"op_mail" => "ma-op",
|
13
14
|
"manager" => "g_ecomop_maop_manager",
|
14
15
|
"rd" => "err",
|
15
16
|
"op" => "warn",
|
@@ -20,31 +21,42 @@ class Alert
|
|
20
21
|
level = @default_level.merge(lvl)
|
21
22
|
oncall = level["oncall"]
|
22
23
|
manager = level["manager"]
|
24
|
+
op_mail = level["op_mail"]
|
23
25
|
|
24
26
|
mail = ""
|
25
27
|
sms = ""
|
28
|
+
hi = ""
|
26
29
|
level.each do |role, lvl|
|
27
30
|
if ["op","rd","qa"].include? role
|
28
31
|
mail = "#{@contacts[role]};#{mail}" if lvl != nil
|
29
|
-
if lvl =~ /
|
32
|
+
if lvl =~ /fatal/ or (lvl =~ /(warn|err)/ and role != "op")
|
30
33
|
sms = "#{@contacts[role]};#{sms}"
|
31
34
|
end
|
32
35
|
end
|
33
36
|
end
|
34
37
|
lvl = level["op"]
|
35
|
-
|
38
|
+
mail = "#{op_mail};#{mail}" if lvl != nil
|
39
|
+
sms = "#{oncall};#{sms}" if lvl =~ /err/ or lvl =~ /fatal/
|
36
40
|
sms = "#{manager};#{sms}" if lvl =~ /fatal/
|
41
|
+
hi = "#{oncall}" if lvl =~ /warn/
|
37
42
|
|
38
|
-
|
43
|
+
if lvl =~ /fatal/
|
44
|
+
remind_time = "300"
|
45
|
+
elsif lvl =~ /err/
|
46
|
+
remind_time = "7200"
|
47
|
+
else
|
48
|
+
remind_time = "0"
|
49
|
+
end
|
39
50
|
alt = {
|
40
|
-
"max_alert_times" => level["max_alert_times"] || "
|
51
|
+
"max_alert_times" => level["max_alert_times"] || "1",
|
41
52
|
"alert_threshold_percent" => level["alert_threshold_percent"] || "0",
|
42
53
|
"sms_threshold_percent" => level["sms_threshold_percent"] || "0",
|
43
54
|
"remind_interval_second" => level["remind_interval_second"] || remind_time,
|
44
55
|
"mail" => mail,
|
45
56
|
"sms" => sms,
|
57
|
+
"hi" => hi,
|
46
58
|
}
|
47
|
-
if lvl =~ /
|
59
|
+
if lvl =~ /err/
|
48
60
|
alt["level1_upgrade_interval"] = "10800"
|
49
61
|
alt["level1_upgrade_sms"] = @contacts["op"]
|
50
62
|
if manager != ""
|
@@ -52,9 +64,9 @@ class Alert
|
|
52
64
|
alt["level2_upgrade_sms"] = manager
|
53
65
|
end
|
54
66
|
end
|
55
|
-
if lvl =~ /
|
56
|
-
alt["level1_upgrade_interval"] = "
|
57
|
-
alt["level1_upgrade_sms"] = manager
|
67
|
+
if lvl =~ /fatal/ and manager != ""
|
68
|
+
alt["level1_upgrade_interval"] = "900"
|
69
|
+
alt["level1_upgrade_sms"] = "#{manager};#{@contacts['op']}"
|
58
70
|
end
|
59
71
|
alt
|
60
72
|
end
|
@@ -69,6 +81,10 @@ class Alert
|
|
69
81
|
alert_info["sms"]
|
70
82
|
end
|
71
83
|
|
84
|
+
def get_hi lvl=nil
|
85
|
+
alert_info = get_alert lvl
|
86
|
+
alert_info["hi"]
|
87
|
+
end
|
72
88
|
end
|
73
89
|
|
74
90
|
class ArgusYml
|
@@ -203,6 +219,7 @@ class ArgusYml
|
|
203
219
|
@service_rule << { "name" => rule_name,
|
204
220
|
"formula" => value["formula"],
|
205
221
|
"filter" => value["filter"] || "1/1",
|
222
|
+
"merge_window" => '600',
|
206
223
|
"alert" => alert_name }
|
207
224
|
end
|
208
225
|
end
|
@@ -231,6 +248,7 @@ class ArgusYml
|
|
231
248
|
@instance["rule"] << { "name" => rule_name,
|
232
249
|
"formula" => rule_value["formula"],
|
233
250
|
"filter" => rule_value["filter"] || "1/1",
|
251
|
+
"merge_window" => '600',
|
234
252
|
"alert" => alert_name }
|
235
253
|
end
|
236
254
|
end
|
@@ -270,6 +288,7 @@ class ArgusYml
|
|
270
288
|
@instance["rule"] << { "name" => item_name_prefix,
|
271
289
|
"formula" => raw_value["formula"],
|
272
290
|
"filter" => raw_value["filter"] || "1/1",
|
291
|
+
"merge_window" => '600',
|
273
292
|
"alert" => alert_name,
|
274
293
|
}
|
275
294
|
end
|
@@ -298,6 +317,7 @@ class ArgusYml
|
|
298
317
|
@instance["rule"] << { "name" => rule_name,
|
299
318
|
"formula" => rule_value["formula"],
|
300
319
|
"filter" => rule_value["filter"]||"3/3",
|
320
|
+
"merge_window" => '600',
|
301
321
|
"alert" => alert_name }
|
302
322
|
end
|
303
323
|
end
|
@@ -325,6 +345,7 @@ class ArgusYml
|
|
325
345
|
@instance["rule"] << { "name" => raw_name,
|
326
346
|
"formula" => "#{raw_name} != 'ok'",
|
327
347
|
"filter" => raw_value["filter"]||"3/3",
|
348
|
+
"merge_window" => '600',
|
328
349
|
"alert" => alert_name }
|
329
350
|
end
|
330
351
|
end
|