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.
- checksums.yaml +4 -4
- data/lib/ymlex/argusyml.rb +28 -28
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8018b3351d992e2182d6bf75bf3a54823801bc0
|
4
|
+
data.tar.gz: 7365db545c0ce43cc21e85a2bfb3fff6c232f98e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74115ea70861e100ef264be157ff44069c387d7330e3c8ca10f028ea78f1fbc2883d2bc2e7ec87400c0648f97c365b168e84d3d4955dcc9bea33aee66ab38502
|
7
|
+
data.tar.gz: 9ac74eb08e5875b74034224e6effe934f104738bf3562421e210f90ca090f41096665a59ee050bae92c5eb6fac81adef03ec09e239c62c6c1718a510eb01c986
|
data/lib/ymlex/argusyml.rb
CHANGED
@@ -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 = "#{
|
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 = "
|
48
|
+
remind_time = "900"
|
50
49
|
elsif lvl =~ /err/
|
51
|
-
remind_time = "
|
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"]
|
253
|
-
"level" => other["level"]
|
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"]
|
285
|
-
"level" => other["level"]
|
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"]
|
328
|
-
"level" => other["level"]
|
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"]
|
360
|
-
"level" => other["level"]
|
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"]
|
391
|
-
"level" => other["level"]
|
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.
|
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:
|
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
|