ymlex 1.1.6 → 1.1.7

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 +6 -6
  2. data/lib/ymlex/argusyml.rb +52 -7
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: 96899ffafbcb57f7b2ef8792a957ddad8ccbcc99
4
- data.tar.gz: 9c0f1b151ac551d9b2d66e3b7cb3e434c892b1e3
5
- !binary "U0hBNTEy":
6
- metadata.gz: 2c7ace21693d73fe0ba227a6921cade42911875baf75f4ff319231871ca9e96982cec4e80b240dd51995eb344da231275b2714d8729a41da20cc3d2513c0e5fd
7
- data.tar.gz: 0cb37911343551d6c23d7057843997077ae69640434f5bf3ddee0ec53e691bdd77e12a30948b1f69a5710559e650758606e5165af35083832933671faee90a8b
2
+ SHA1:
3
+ metadata.gz: 51463b53ee65452aed0a159e5f6e19b31bc4605e
4
+ data.tar.gz: 3a8365b2fef1a5182653cd473147d159db3420c7
5
+ SHA512:
6
+ metadata.gz: 576d8866fdff540341249c3f489b768dce385749c31630c37e994f9e82f64a0cabf0e82549f80ded56862a8d745ea5c15c30aa03592465c395ee89e9689cbf60
7
+ data.tar.gz: fe838e6ddd70c6278e409a75579f41d5674029352de2251b3f30580c5fd884496b7eb9db9e27b1c32aced6fc2ad8c42240735215672286a570c5052364ba813e
@@ -23,6 +23,11 @@ class Alert
23
23
  manager = level["manager"]
24
24
  op_mail = level["op_mail"]
25
25
 
26
+ # # change g_ecomop_maop_all to #z_ecomop_maop_oncall_bak
27
+ # if @contacts["op"] != nil
28
+ # @contacts["op"].gsub!(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall_bak')
29
+ # end
30
+ #
26
31
  mail = ""
27
32
  sms = ""
28
33
  hi = ""
@@ -47,18 +52,41 @@ class Alert
47
52
  else
48
53
  remind_time = "0"
49
54
  end
55
+
56
+ if lvl =~ /fatal/
57
+ merge_window = "0"
58
+ rule_level = "4"
59
+ elsif lvl =~ /err/
60
+ merge_window = "300"
61
+ rule_level = "3"
62
+ elsif lvl =~ /warn/
63
+ merge_window = "600"
64
+ rule_level = "2"
65
+ elsif lvl =~ /info/
66
+ merge_window = "600"
67
+ rule_level = "1"
68
+ else
69
+ merge_window = "600"
70
+ rule_level = "1"
71
+ end
72
+
73
+ sms.gsub!(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
50
74
  alt = {
51
75
  "max_alert_times" => level["max_alert_times"] || "1",
52
76
  "alert_threshold_percent" => level["alert_threshold_percent"] || "0",
53
77
  "sms_threshold_percent" => level["sms_threshold_percent"] || "0",
54
78
  "remind_interval_second" => level["remind_interval_second"] || remind_time,
79
+ "other" => {
80
+ "merge_window" => merge_window,
81
+ "level" => rule_level,
82
+ },
55
83
  "mail" => mail,
56
84
  "sms" => sms,
57
85
  "hi" => hi,
58
86
  }
59
87
  if lvl =~ /err/
60
88
  alt["level1_upgrade_interval"] = "10800"
61
- alt["level1_upgrade_sms"] = @contacts["op"]
89
+ alt["level1_upgrade_sms"] = @contacts["op"].gsub(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
62
90
  if manager != ""
63
91
  alt["level2_upgrade_interval"] = "36000"
64
92
  alt["level2_upgrade_sms"] = manager
@@ -66,7 +94,7 @@ class Alert
66
94
  end
67
95
  if lvl =~ /fatal/ and manager != ""
68
96
  alt["level1_upgrade_interval"] = "900"
69
- alt["level1_upgrade_sms"] = "#{manager};#{@contacts['op']}"
97
+ alt["level1_upgrade_sms"] = "#{manager};#{@contacts['op']}".gsub(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
70
98
  end
71
99
  alt
72
100
  end
@@ -213,13 +241,16 @@ class ArgusYml
213
241
  if value["alert"]
214
242
  alt = @alert.get_alert value["alert"]
215
243
  alt["name"] = rule_name
244
+ other = alt.delete "other"
216
245
  @service_alert << alt
217
246
  alert_name = rule_name
218
247
  end
248
+ other = other || {}
219
249
  @service_rule << { "name" => rule_name,
220
250
  "formula" => value["formula"],
221
251
  "filter" => value["filter"] || "1/1",
222
- "merge_window" => '600',
252
+ "merge_window" => other["merge_window"] || "300",
253
+ "level" => other["level"] || "2",
223
254
  "alert" => alert_name }
224
255
  end
225
256
  end
@@ -242,13 +273,16 @@ class ArgusYml
242
273
  if rule_value["alert"]
243
274
  alt = @alert.get_alert rule_value["alert"]
244
275
  alt["name"] = rule_name
276
+ other = alt.delete "other"
245
277
  @instance["alert"] << alt
246
278
  alert_name = rule_name
247
279
  end
280
+ other = other || {}
248
281
  @instance["rule"] << { "name" => rule_name,
249
282
  "formula" => rule_value["formula"],
250
283
  "filter" => rule_value["filter"] || "1/1",
251
- "merge_window" => '600',
284
+ "merge_window" => other["merge_window"] || "300",
285
+ "level" => other["level"] || "2",
252
286
  "alert" => alert_name }
253
287
  end
254
288
  end
@@ -282,13 +316,16 @@ class ArgusYml
282
316
  if raw_value["alert"]
283
317
  alt = @alert.get_alert raw_value["alert"]
284
318
  alt["name"] = item_name_prefix
319
+ other = alt.delete "other"
285
320
  @instance["alert"] << alt
286
321
  alert_name = item_name_prefix
287
322
  end
323
+ other = other || {}
288
324
  @instance["rule"] << { "name" => item_name_prefix,
289
325
  "formula" => raw_value["formula"],
290
326
  "filter" => raw_value["filter"] || "1/1",
291
- "merge_window" => '600',
327
+ "merge_window" => other["merge_window"] || "300",
328
+ "level" => other["level"] || "2",
292
329
  "alert" => alert_name,
293
330
  }
294
331
  end
@@ -311,13 +348,16 @@ class ArgusYml
311
348
  if rule_value["alert"]
312
349
  alt = @alert.get_alert rule_value["alert"]
313
350
  alt["name"] = rule_name
351
+ other = alt.delete "other"
314
352
  @instance["alert"] << alt
315
353
  alert_name = rule_name
316
354
  end
355
+ other = other || {}
317
356
  @instance["rule"] << { "name" => rule_name,
318
357
  "formula" => rule_value["formula"],
319
358
  "filter" => rule_value["filter"]||"3/3",
320
- "merge_window" => '600',
359
+ "merge_window" => other["merge_window"] || "300",
360
+ "level" => other["level"] || "2",
321
361
  "alert" => alert_name }
322
362
  end
323
363
  end
@@ -337,15 +377,18 @@ class ArgusYml
337
377
  if raw_value["alert"]
338
378
  alt = @alert.get_alert raw_value["alert"]
339
379
  alt["name"] = raw_name
380
+ other = alt.delete "other"
340
381
  @instance["alert"] << alt
341
382
  alert_name = raw_name
342
383
  raw_value.delete "alert"
343
384
  end
385
+ other = other || {}
344
386
  @instance["request"] << dft_raw.merge(raw_value)
345
387
  @instance["rule"] << { "name" => raw_name,
346
388
  "formula" => "#{raw_name} != 'ok'",
347
389
  "filter" => raw_value["filter"]||"3/3",
348
- "merge_window" => '600',
390
+ "merge_window" => other["merge_window"] || "300",
391
+ "level" => other["level"] || "2",
349
392
  "alert" => alert_name }
350
393
  end
351
394
  end
@@ -364,12 +407,14 @@ class ArgusYml
364
407
  def default_alert
365
408
  alt = @alert.get_alert
366
409
  alt["name"] = "default_alert"
410
+ alt.delete "other"
367
411
  alt
368
412
  end
369
413
 
370
414
  def noah_error_alert
371
415
  alt = @alert.get_alert({"rd" => nil, "qa" => nil, "op" => "warn" })
372
416
  alt["name"] = "noah_error_alert"
417
+ alt.delete "other"
373
418
  alt
374
419
  end
375
420
 
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.6
4
+ version: 1.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wen Li
@@ -10,17 +10,17 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-08-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: ! 'extend ymal: support inherit and valueize'
13
+ description: 'extend ymal: support inherit and valueize'
14
14
  email: wenli@baidu.com
15
15
  executables:
16
16
  - ymlex
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - bin/ymlex
20
21
  - lib/ymlex.rb
21
- - lib/ymlex/ymlex.rb
22
22
  - lib/ymlex/argusyml.rb
23
- - bin/ymlex
23
+ - lib/ymlex/ymlex.rb
24
24
  homepage: https://github.com/cruelwen/ymlex
25
25
  licenses:
26
26
  - MIT
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
41
41
  version: '0'
42
42
  requirements: []
43
43
  rubyforge_project:
44
- rubygems_version: 2.0.0.preview3.1
44
+ rubygems_version: 2.2.2
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: extend ymal!