bosh-monitor 1.3202.0 → 1.3213.0
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/bosh/monitor/agent.rb +8 -2
- data/lib/bosh/monitor/agent_manager.rb +1 -1
- data/lib/bosh/monitor/events/heartbeat.rb +9 -3
- data/lib/bosh/monitor/plugins/README.md +2 -1
- data/lib/bosh/monitor/plugins/cloud_watch.rb +4 -3
- data/lib/bosh/monitor/plugins/consul_event_forwarder.rb +5 -4
- data/lib/bosh/monitor/plugins/datadog.rb +4 -1
- data/lib/bosh/monitor/plugins/graphite.rb +4 -4
- data/lib/bosh/monitor/version.rb +1 -1
- 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: 4bf6d8fb84e0abb36c5d8ccda918ecdb34fb91f1
|
4
|
+
data.tar.gz: afb5d2d9e99f5a741d10cbe024d14f743073faab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c42bb8edb352150f5433825623045f3fc3e89e5f81087ec2ada81722d386a6ec4736d29032db7810d11e9175c0b2a11ebf28031a8d22f03fba6225cbc7e1bcf7
|
7
|
+
data.tar.gz: 941fb7c74c30fc98b08b0331fd01b2b954c3deed2b6af0a42a8d63c5cbc9ffb4566192bfac2aaff4a070a81621e026e4588cd49ac1e976331d2baead0cd0b32e
|
data/lib/bosh/monitor/agent.rb
CHANGED
@@ -28,8 +28,14 @@ module Bosh::Monitor
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def name
|
31
|
-
if @deployment && @job && @
|
32
|
-
"#{@deployment}: #{@job}(#{@
|
31
|
+
if @deployment && @job && @instance_id
|
32
|
+
name = "#{@deployment}: #{@job}(#{@instance_id}) [id=#{@id}, "
|
33
|
+
|
34
|
+
if @index
|
35
|
+
name = name + "index=#{@index}, "
|
36
|
+
end
|
37
|
+
|
38
|
+
name + "cid=#{@cid}]"
|
33
39
|
else
|
34
40
|
state = ATTRIBUTES.inject([]) do |acc, attribute|
|
35
41
|
value = send(attribute)
|
@@ -124,7 +124,7 @@ module Bosh::Monitor
|
|
124
124
|
return false
|
125
125
|
end
|
126
126
|
|
127
|
-
@logger.info("Adding agent #{vm_data['agent_id']} (#{vm_data['job']}/#{vm_data['
|
127
|
+
@logger.info("Adding agent #{vm_data['agent_id']} (#{vm_data['job']}/#{vm_data['id']}) to #{deployment_name}...")
|
128
128
|
|
129
129
|
agent_id = vm_data['agent_id']
|
130
130
|
|
@@ -10,7 +10,7 @@ module Bosh::Monitor
|
|
10
10
|
|
11
11
|
SERVICE_AUXILIARY_JOBS = Set.new(%w(serialization_data_server backup_manager))
|
12
12
|
|
13
|
-
attr_reader :agent_id, :deployment, :job, :index, :metrics
|
13
|
+
attr_reader :agent_id, :deployment, :job, :index, :metrics, :node_id
|
14
14
|
|
15
15
|
def initialize(attributes = {})
|
16
16
|
super
|
@@ -30,7 +30,7 @@ module Bosh::Monitor
|
|
30
30
|
@tags = {}
|
31
31
|
@tags["job"] = @job if @job
|
32
32
|
@tags["index"] = @index if @index
|
33
|
-
@tags["
|
33
|
+
@tags["id"] = @node_id if @node_id
|
34
34
|
@tags["role"] = guess_role
|
35
35
|
|
36
36
|
@vitals = @attributes["vitals"] || {}
|
@@ -60,7 +60,13 @@ module Bosh::Monitor
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def short_description
|
63
|
-
"Heartbeat from #{@job}/#{@
|
63
|
+
description = "Heartbeat from #{@job}/#{@node_id} (agent_id=#{@agent_id}"
|
64
|
+
|
65
|
+
if @index && !@index.empty?
|
66
|
+
description = description + " index=#{@index}"
|
67
|
+
end
|
68
|
+
|
69
|
+
description + ") @ #{@timestamp.utc}"
|
64
70
|
end
|
65
71
|
|
66
72
|
def to_s
|
@@ -32,7 +32,8 @@ The Consul plugin works by forwarding nats heartbeat events and alerts to a cons
|
|
32
32
|
```ruby
|
33
33
|
{
|
34
34
|
:agent => agent_id,
|
35
|
-
:name => "job_name /
|
35
|
+
:name => "job_name / node_id",
|
36
|
+
:id => node_id,
|
36
37
|
:state => job_state,
|
37
38
|
:data => {
|
38
39
|
:cpu => [sys, user, wait]
|
@@ -15,7 +15,7 @@ module Bosh::Monitor
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def process(event)
|
18
|
-
if event.is_a? Bosh::Monitor::Events::Heartbeat
|
18
|
+
if (event.is_a? Bosh::Monitor::Events::Heartbeat) && event.node_id
|
19
19
|
aws_cloud_watch.put_metric_data(heartbeat_to_cloudwatch_metric(event))
|
20
20
|
end
|
21
21
|
end
|
@@ -35,9 +35,10 @@ module Bosh::Monitor
|
|
35
35
|
@dimensions ||= [
|
36
36
|
{name: "job", value: heartbeat.job},
|
37
37
|
{name: "index", value: heartbeat.index},
|
38
|
-
{name: "name", value: "#{heartbeat.job}/#{heartbeat.
|
38
|
+
{name: "name", value: "#{heartbeat.job}/#{heartbeat.node_id}"},
|
39
39
|
{name: "deployment", value: heartbeat.deployment},
|
40
|
-
{name: "agent_id", value: heartbeat.agent_id}
|
40
|
+
{name: "agent_id", value: heartbeat.agent_id},
|
41
|
+
{name: "id", value: heartbeat.node_id}
|
41
42
|
]
|
42
43
|
end
|
43
44
|
|
@@ -71,11 +71,11 @@ module Bosh::Monitor
|
|
71
71
|
|
72
72
|
#should an individual alert or heartbeat be forwarded as a consul event
|
73
73
|
def forward_this_event?(event)
|
74
|
-
@use_events && (
|
74
|
+
@use_events && (event.is_a?(Bosh::Monitor::Events::Alert) || ( event.is_a?(Bosh::Monitor::Events::Heartbeat) && @heartbeats_as_alerts && event.node_id))
|
75
75
|
end
|
76
76
|
|
77
77
|
def forward_this_ttl?(event)
|
78
|
-
|
78
|
+
@use_ttl && event.is_a?(Bosh::Monitor::Events::Heartbeat) && event.node_id
|
79
79
|
end
|
80
80
|
|
81
81
|
def get_path_for_note_type(event, note_type)
|
@@ -105,7 +105,7 @@ module Bosh::Monitor
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def label_for_ttl(event)
|
108
|
-
"#{@namespace}#{event.job}_#{event.
|
108
|
+
"#{@namespace}#{event.job}_#{event.node_id}"
|
109
109
|
end
|
110
110
|
|
111
111
|
# Notify consul of an event
|
@@ -136,7 +136,8 @@ module Bosh::Monitor
|
|
136
136
|
#this should yield consistent results from the values method
|
137
137
|
{
|
138
138
|
:agent => body[:agent_id],
|
139
|
-
:name => "#{body[:job]}/#{body[:
|
139
|
+
:name => "#{body[:job]}/#{body[:node_id]}",
|
140
|
+
:id => body[:node_id],
|
140
141
|
:state => "#{body[:job_state]}",
|
141
142
|
:data => {
|
142
143
|
:cpu => vitals['cpu'].values,
|
@@ -27,7 +27,9 @@ module Bosh::Monitor
|
|
27
27
|
def process(event)
|
28
28
|
case event
|
29
29
|
when Bosh::Monitor::Events::Heartbeat
|
30
|
-
|
30
|
+
if event.node_id
|
31
|
+
EM.defer { process_heartbeat(event) }
|
32
|
+
end
|
31
33
|
when Bosh::Monitor::Events::Alert
|
32
34
|
EM.defer { process_alert(event) }
|
33
35
|
else
|
@@ -41,6 +43,7 @@ module Bosh::Monitor
|
|
41
43
|
tags = %W[
|
42
44
|
job:#{heartbeat.job}
|
43
45
|
index:#{heartbeat.index}
|
46
|
+
id:#{heartbeat.node_id}
|
44
47
|
deployment:#{heartbeat.deployment}
|
45
48
|
agent:#{heartbeat.agent_id}
|
46
49
|
]
|
@@ -17,7 +17,7 @@ module Bosh::Monitor
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def process(event)
|
20
|
-
if event.is_a? Bosh::Monitor::Events::Heartbeat
|
20
|
+
if (event.is_a? Bosh::Monitor::Events::Heartbeat) && event.node_id
|
21
21
|
|
22
22
|
metrics = event.metrics
|
23
23
|
|
@@ -43,12 +43,12 @@ module Bosh::Monitor
|
|
43
43
|
def get_metric_prefix(heartbeat)
|
44
44
|
deployment = heartbeat.deployment
|
45
45
|
job = heartbeat.job
|
46
|
-
|
46
|
+
id = heartbeat.node_id
|
47
47
|
agent_id = heartbeat.agent_id
|
48
48
|
if options["prefix"]
|
49
|
-
[options["prefix"], deployment, job,
|
49
|
+
[options["prefix"], deployment, job, id, agent_id].join '.'
|
50
50
|
else
|
51
|
-
[deployment, job,
|
51
|
+
[deployment, job, id, agent_id].join '.'
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
data/lib/bosh/monitor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bosh-monitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3213.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VMware
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|