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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ymlex/argusyml.rb +30 -9
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: aa709a6bc0c4f33aeb0e80dc686af225be43b329
4
- data.tar.gz: a5474c089f705435529e25d61153de85e10dcbf5
3
+ metadata.gz: 96899ffafbcb57f7b2ef8792a957ddad8ccbcc99
4
+ data.tar.gz: 9c0f1b151ac551d9b2d66e3b7cb3e434c892b1e3
5
5
  !binary "U0hBNTEy":
6
- metadata.gz: a42b77b976601c6d48c03a7f6f3c6cc68baeac43afb74953fb6e5a695288aa338d9fdf7063ca6056613173a1a23a12f8367aa39d9b6a9e4297137fb84a07c6f3
7
- data.tar.gz: 7831d9dc406f0c15b8edc9fd014deeec7a86146f610cbb15e00bfb5945507211aff5b96ff3d13a199155426ff46c974b3d3f8a6d9e83bc81c60752c330ced4fb
6
+ metadata.gz: 2c7ace21693d73fe0ba227a6921cade42911875baf75f4ff319231871ca9e96982cec4e80b240dd51995eb344da231275b2714d8729a41da20cc3d2513c0e5fd
7
+ data.tar.gz: 0cb37911343551d6c23d7057843997077ae69640434f5bf3ddee0ec53e691bdd77e12a30948b1f69a5710559e650758606e5165af35083832933671faee90a8b
@@ -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" => "g_ecomop_maop_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 =~ /err/ or lvl =~ /fatal/ or (lvl =~ /warn/ and role != "op")
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
- sms = "#{oncall};#{sms}" if lvl =~ /warn/ or lvl =~ /err/ or lvl =~ /fatal/
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
- remind_time = (lvl =~ /fatal/)? "300" : "7200"
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"] || "2",
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 =~ /warn/
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 =~ /err/ and manager != ""
56
- alt["level1_upgrade_interval"] = "10800"
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ymlex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wen Li