ymlex 1.1.5 → 1.1.6
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/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
|