ymlex 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
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