barkdog 0.1.0 → 0.1.1
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/barkdog.gemspec +1 -0
- data/lib/barkdog.rb +1 -0
- data/lib/barkdog/client.rb +1 -1
- data/lib/barkdog/driver.rb +19 -16
- data/lib/barkdog/dsl/converter.rb +3 -4
- data/lib/barkdog/version.rb +1 -1
- data/spec/barkdog_spec.rb +12 -12
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b5e5d649d610c2a18c3e7185cf455c98ef6adcb
|
4
|
+
data.tar.gz: 99bb65f4e8e0e695a6adda0e95c8d56f62af6b25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ed8488deaa1d47587baef8eaa428bc96f5531dfae1844edf9da4b0e8ef4da8015b53f5041e00b1d88d65a04ca37cf191e63f3041dd7b45fd768c2b50f58c7cb
|
7
|
+
data.tar.gz: 007ec89d86de1ad97fc72e3ec9dfc7ed2189d3288cef44568df6c60b52bfcb878886450e7ef6ca3b60325266056488ed2c052806c39edca34c57f626a4827c76
|
data/barkdog.gemspec
CHANGED
data/lib/barkdog.rb
CHANGED
data/lib/barkdog/client.rb
CHANGED
@@ -63,7 +63,7 @@ class Barkdog::Client
|
|
63
63
|
monitor_id = actual_without_id.delete('id')
|
64
64
|
|
65
65
|
if expected != actual_without_id
|
66
|
-
updated = @driver.update_monitor(name, expected.merge('id' => monitor_id)) || updated
|
66
|
+
updated = @driver.update_monitor(name, expected.merge('id' => monitor_id), actual) || updated
|
67
67
|
end
|
68
68
|
|
69
69
|
updated
|
data/lib/barkdog/driver.rb
CHANGED
@@ -37,25 +37,28 @@ class Barkdog::Driver
|
|
37
37
|
updated
|
38
38
|
end
|
39
39
|
|
40
|
-
def update_monitor(name,
|
40
|
+
def update_monitor(name, expected, actual)
|
41
41
|
updated = false
|
42
|
-
log(:info, "Update Monitor: #{name}", :color => :green)
|
43
42
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
43
|
+
diffy = Diffy::Diff.new(
|
44
|
+
Barkdog::DSL::Converter.convert({name => actual}),
|
45
|
+
Barkdog::DSL::Converter.convert({name => expected}),
|
46
|
+
:diff => "-u"
|
47
|
+
)
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
49
|
+
if diffy.diff.size > 0
|
50
|
+
log(:info, "Update Monitor: #{name}", :color => :cyan)
|
51
|
+
log(:info, diffy.to_s(:color), :color => false )
|
52
|
+
unless @options[:dry_run]
|
53
|
+
@dog.update_monitor(
|
54
|
+
expected['id'],
|
55
|
+
expected['query'],
|
56
|
+
:name => name,
|
57
|
+
:message => expected['message'],
|
58
|
+
:options => expected['options']
|
59
|
+
)
|
60
|
+
updated = true
|
61
|
+
end
|
59
62
|
end
|
60
63
|
|
61
64
|
updated
|
@@ -51,17 +51,16 @@ end
|
|
51
51
|
def output_monitor_options(monitor_options)
|
52
52
|
options_body = monitor_options.map {|key, value|
|
53
53
|
value_is_hash = value.is_a?(Hash)
|
54
|
-
value = value.inspect
|
55
54
|
|
56
55
|
if value_is_hash
|
57
|
-
value =
|
56
|
+
value = value.map{ |k,v| "#{k.inspect}=>#{v.inspect}" }.sort.join(", ")
|
58
57
|
value = value.empty? ? '({})' : " #{value}"
|
59
58
|
else
|
60
|
-
value = " #{value}"
|
59
|
+
value = " #{value.inspect}"
|
61
60
|
end
|
62
61
|
|
63
62
|
"#{key}#{value}"
|
64
|
-
}.join("\n ")
|
63
|
+
}.sort.join("\n ")
|
65
64
|
|
66
65
|
<<-RUBY.chomp
|
67
66
|
options do
|
data/lib/barkdog/version.rb
CHANGED
data/spec/barkdog_spec.rb
CHANGED
@@ -7,9 +7,9 @@ monitor "my metric check", :type=>"metric alert" do
|
|
7
7
|
query "avg(last_5m):avg:datadog.dogstatsd.packet.count{*} > 1"
|
8
8
|
message "metric check message"
|
9
9
|
options do
|
10
|
-
notify_no_data false
|
11
10
|
no_data_timeframe 2
|
12
11
|
notify_audit false
|
12
|
+
notify_no_data false
|
13
13
|
silenced({})
|
14
14
|
end
|
15
15
|
end
|
@@ -18,14 +18,14 @@ monitor "my service check", :type=>"service check" do
|
|
18
18
|
query "\"datadog.agent.up\".over(\"*\").last(2).count_by_status()"
|
19
19
|
message "service check message"
|
20
20
|
options do
|
21
|
+
no_data_timeframe 2
|
21
22
|
notify_audit false
|
22
|
-
timeout_h 0
|
23
|
-
silenced({})
|
24
|
-
thresholds "warning"=>1, "ok"=>1, "critical"=>1
|
25
|
-
period 15
|
26
23
|
notify_no_data true
|
24
|
+
period 15
|
27
25
|
renotify_interval 0
|
28
|
-
|
26
|
+
silenced({})
|
27
|
+
thresholds "critical"=>1, "ok"=>1, "warning"=>1
|
28
|
+
timeout_h 0
|
29
29
|
end
|
30
30
|
end
|
31
31
|
RUBY
|
@@ -50,9 +50,9 @@ monitor "my metric check", :type=>"metric alert" do
|
|
50
50
|
query "avg(last_5m):avg:datadog.dogstatsd.packet.count{*} > 2"
|
51
51
|
message "metric check message2"
|
52
52
|
options do
|
53
|
-
notify_no_data true
|
54
53
|
no_data_timeframe 3
|
55
54
|
notify_audit true
|
55
|
+
notify_no_data true
|
56
56
|
silenced "*"=>nil
|
57
57
|
end
|
58
58
|
end
|
@@ -61,14 +61,14 @@ monitor "my service check", :type=>"service check" do
|
|
61
61
|
query "\"datadog.agent.up\".over(\"*\").last(3).count_by_status()"
|
62
62
|
message "service check message2"
|
63
63
|
options do
|
64
|
+
no_data_timeframe 3
|
64
65
|
notify_audit true
|
65
|
-
timeout_h 1
|
66
|
-
silenced "*"=>nil
|
67
|
-
thresholds "warning"=>2, "ok"=>2, "critical"=>2
|
68
|
-
period 30
|
69
66
|
notify_no_data true
|
67
|
+
period 30
|
70
68
|
renotify_interval 1
|
71
|
-
|
69
|
+
silenced "*"=>nil
|
70
|
+
thresholds "critical"=>2, "ok"=>2, "warning"=>2
|
71
|
+
timeout_h 1
|
72
72
|
end
|
73
73
|
end
|
74
74
|
RUBY
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: barkdog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dogapi
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: diffy
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|