ymlex 1.1.6 → 1.1.7

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 +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!