ymlex 1.1.8 → 1.1.9.2

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 +28 -28
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9f11856130933a6430587a61d31657f166d5d2d
4
- data.tar.gz: c335533f3d41ef9aee376fe41757cd3274434d9f
3
+ metadata.gz: c8018b3351d992e2182d6bf75bf3a54823801bc0
4
+ data.tar.gz: 7365db545c0ce43cc21e85a2bfb3fff6c232f98e
5
5
  SHA512:
6
- metadata.gz: 57a829367210c7449af6689f9f7cdf75609af1d67732abe0270c10921928570da07bb2c060843502c98b1e380a113ff0561eab9e82004b6cf52bc29d889f3d28
7
- data.tar.gz: f0fcb3bff96c7fb1f139f9a8b2e90ba794d7179f03a5003eaa10e138339fdbfef1d8695ba90372cafa57a3dff66d66f91466f352eb9bdd39b7701912e64efb6e
6
+ metadata.gz: 74115ea70861e100ef264be157ff44069c387d7330e3c8ca10f028ea78f1fbc2883d2bc2e7ec87400c0648f97c365b168e84d3d4955dcc9bea33aee66ab38502
7
+ data.tar.gz: 9ac74eb08e5875b74034224e6effe934f104738bf3562421e210f90ca090f41096665a59ee050bae92c5eb6fac81adef03ec09e239c62c6c1718a510eb01c986
@@ -10,7 +10,6 @@ class Alert
10
10
  def initialize contacts, level={}
11
11
  @contacts = contacts
12
12
  @default_level = { "oncall" => "#z_ecomop_maop_oncall",
13
- "op_mail" => "ma-op",
14
13
  "manager" => "g_ecomop_maop_manager",
15
14
  "rd" => "err",
16
15
  "op" => "warn",
@@ -21,7 +20,6 @@ class Alert
21
20
  level = @default_level.merge(lvl)
22
21
  oncall = level["oncall"]
23
22
  manager = level["manager"]
24
- op_mail = level["op_mail"]
25
23
 
26
24
  # # change g_ecomop_maop_all to #z_ecomop_maop_oncall_bak
27
25
  # if @contacts["op"] != nil
@@ -31,6 +29,7 @@ class Alert
31
29
  mail = ""
32
30
  sms = ""
33
31
  hi = ""
32
+ web = ""
34
33
  level.each do |role, lvl|
35
34
  if ["op","rd","qa"].include? role
36
35
  mail = "#{@contacts[role]};#{mail}" if lvl != nil
@@ -40,15 +39,15 @@ class Alert
40
39
  end
41
40
  end
42
41
  lvl = level["op"]
43
- mail = "#{op_mail};#{mail}" if lvl != nil
42
+ mail = "#{mail}" if lvl != nil
44
43
  sms = "#{oncall};#{sms}" if lvl =~ /err/ or lvl =~ /fatal/
45
44
  sms = "#{manager};#{sms}" if lvl =~ /fatal/
46
45
  #hi = "#{oncall}" if lvl =~ /warn/
47
46
 
48
47
  if lvl =~ /fatal/
49
- remind_time = "300"
48
+ remind_time = "900"
50
49
  elsif lvl =~ /err/
51
- remind_time = "7200"
50
+ remind_time = "0"
52
51
  else
53
52
  remind_time = "0"
54
53
  end
@@ -70,7 +69,9 @@ class Alert
70
69
  rule_level = "1"
71
70
  end
72
71
 
72
+ web = "g_ecomop_maop_all;g_ecomop_maop_manager;" if sms.include? "g_ecomop_maop_all" or sms.include? "#z_ecomop_maop_oncall"
73
73
  sms.gsub!(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
74
+ mail.gsub!(/g_ecomop_maop_all/,'ma-op')
74
75
  alt = {
75
76
  "max_alert_times" => level["max_alert_times"] || "1",
76
77
  "alert_threshold_percent" => level["alert_threshold_percent"] || "0",
@@ -79,19 +80,13 @@ class Alert
79
80
  "other" => {
80
81
  "merge_window" => merge_window,
81
82
  "level" => rule_level,
83
+ "lvl" => lvl,
82
84
  },
83
85
  "mail" => mail,
84
86
  "sms" => sms,
85
87
  "hi" => hi,
88
+ "web" => web,
86
89
  }
87
- if lvl =~ /err/
88
- alt["level1_upgrade_interval"] = "10800"
89
- alt["level1_upgrade_sms"] = @contacts["op"].gsub(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
90
- if manager != ""
91
- alt["level2_upgrade_interval"] = "36000"
92
- alt["level2_upgrade_sms"] = manager
93
- end
94
- end
95
90
  if lvl =~ /fatal/ and manager != ""
96
91
  alt["level1_upgrade_interval"] = "900"
97
92
  alt["level1_upgrade_sms"] = "#{manager};#{@contacts['op']}".gsub(/g_ecomop_maop_all/,'#z_ecomop_maop_oncall;#z_ecomop_maop_oncall_bak')
@@ -238,6 +233,7 @@ class ArgusYml
238
233
  if value["formula"]
239
234
  rule_name = "#{@name}_aggr_#{rule_name}"
240
235
  alert_name = "default_alert"
236
+ other = default_alert_level
241
237
  if value["alert"]
242
238
  alt = @alert.get_alert value["alert"]
243
239
  alt["name"] = rule_name
@@ -245,12 +241,11 @@ class ArgusYml
245
241
  @service_alert << alt
246
242
  alert_name = rule_name
247
243
  end
248
- other = other || {}
249
244
  @service_rule << { "name" => rule_name,
250
245
  "formula" => value["formula"],
251
246
  "filter" => value["filter"] || "1/1",
252
- "merge_window" => other["merge_window"] || "300",
253
- "level" => other["level"] || "2",
247
+ "merge_window" => other["merge_window"],
248
+ "level" => other["level"],
254
249
  "alert" => alert_name }
255
250
  end
256
251
  end
@@ -270,6 +265,7 @@ class ArgusYml
270
265
  list.each do | rule_key, rule_value |
271
266
  rule_name = "#{@name}_other_#{rule_key}"
272
267
  alert_name = "default_alert"
268
+ other = default_alert_level
273
269
  if rule_value["alert"]
274
270
  alt = @alert.get_alert rule_value["alert"]
275
271
  alt["name"] = rule_name
@@ -277,12 +273,11 @@ class ArgusYml
277
273
  @instance["alert"] << alt
278
274
  alert_name = rule_name
279
275
  end
280
- other = other || {}
281
276
  @instance["rule"] << { "name" => rule_name,
282
277
  "formula" => rule_value["formula"],
283
278
  "filter" => rule_value["filter"] || "1/1",
284
- "merge_window" => other["merge_window"] || "300",
285
- "level" => other["level"] || "2",
279
+ "merge_window" => other["merge_window"],
280
+ "level" => other["level"],
286
281
  "alert" => alert_name }
287
282
  end
288
283
  end
@@ -313,6 +308,7 @@ class ArgusYml
313
308
  log_conf["item"] << item
314
309
  next unless raw_value["formula"]
315
310
  alert_name = "default_alert"
311
+ other = default_alert_level
316
312
  if raw_value["alert"]
317
313
  alt = @alert.get_alert raw_value["alert"]
318
314
  alt["name"] = item_name_prefix
@@ -320,12 +316,11 @@ class ArgusYml
320
316
  @instance["alert"] << alt
321
317
  alert_name = item_name_prefix
322
318
  end
323
- other = other || {}
324
319
  @instance["rule"] << { "name" => item_name_prefix,
325
320
  "formula" => raw_value["formula"],
326
321
  "filter" => raw_value["filter"] || "1/1",
327
- "merge_window" => other["merge_window"] || "300",
328
- "level" => other["level"] || "2",
322
+ "merge_window" => other["merge_window"],
323
+ "level" => other["level"],
329
324
  "alert" => alert_name,
330
325
  }
331
326
  end
@@ -345,6 +340,7 @@ class ArgusYml
345
340
  next if (rule_key == "path" || !rule_value["formula"])
346
341
  rule_name = "#{raw_name}_#{rule_key}"
347
342
  alert_name = "default_alert"
343
+ other = default_alert_level
348
344
  if rule_value["alert"]
349
345
  alt = @alert.get_alert rule_value["alert"]
350
346
  alt["name"] = rule_name
@@ -352,12 +348,11 @@ class ArgusYml
352
348
  @instance["alert"] << alt
353
349
  alert_name = rule_name
354
350
  end
355
- other = other || {}
356
351
  @instance["rule"] << { "name" => rule_name,
357
352
  "formula" => rule_value["formula"],
358
353
  "filter" => rule_value["filter"]||"3/3",
359
- "merge_window" => other["merge_window"] || "300",
360
- "level" => other["level"] || "2",
354
+ "merge_window" => other["merge_window"],
355
+ "level" => other["level"],
361
356
  "alert" => alert_name }
362
357
  end
363
358
  end
@@ -374,6 +369,7 @@ class ArgusYml
374
369
  "req_type" => "port",
375
370
  }
376
371
  alert_name = "default_alert"
372
+ other = default_alert_level
377
373
  if raw_value["alert"]
378
374
  alt = @alert.get_alert raw_value["alert"]
379
375
  alt["name"] = raw_name
@@ -382,13 +378,12 @@ class ArgusYml
382
378
  alert_name = raw_name
383
379
  raw_value.delete "alert"
384
380
  end
385
- other = other || {}
386
381
  @instance["request"] << dft_raw.merge(raw_value)
387
382
  @instance["rule"] << { "name" => raw_name,
388
383
  "formula" => "#{raw_name} != 'ok'",
389
384
  "filter" => raw_value["filter"]||"3/3",
390
- "merge_window" => other["merge_window"] || "300",
391
- "level" => other["level"] || "2",
385
+ "merge_window" => other["merge_window"],
386
+ "level" => other["level"],
392
387
  "alert" => alert_name }
393
388
  end
394
389
  end
@@ -411,6 +406,11 @@ class ArgusYml
411
406
  alt
412
407
  end
413
408
 
409
+ def default_alert_level
410
+ alt = @alert.get_alert
411
+ alt["other"]
412
+ end
413
+
414
414
  def noah_error_alert
415
415
  alt = @alert.get_alert({"rd" => nil, "qa" => nil, "op" => "warn" })
416
416
  alt["name"] = "noah_error_alert"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ymlex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wen Li
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-01 00:00:00.000000000 Z
11
+ date: 2015-10-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'extend ymal: support inherit and valueize'
14
14
  email: wenli@baidu.com