fluent-plugin-td-monitoring 0.1.1 → 0.1.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/ChangeLog +5 -0
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/fluent/plugin/in_td_monitor_agent.rb +20 -15
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ed61bb451c1d0809858044aaa984161f11f63d5
|
4
|
+
data.tar.gz: 844db9811febcad867500a8db5bd95659426dc74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15eb5bab5dcd9dde7d8dfd9983b8e23ca18cf58eca5f6a75e3a5d74e9d15b0651392b5454e3d139cd9ba407ab4693b66050130dd89ce6b6400ee60174fa6f110
|
7
|
+
data.tar.gz: 4e20e2acca0e8c3435b5072e8b056f5e73b1ddab37f43ca630037b025b7023d796d3f29bcf85fb56cd2074f8a82cd4094e0b14a1fcfb44762c58740935bacab5
|
data/ChangeLog
CHANGED
data/README.md
CHANGED
@@ -99,7 +99,7 @@ $ git clone git@github.com:treasure-data/fluent-plugin-td-monitoring.git
|
|
99
99
|
$ cd fluent-plugin-td-monitoring
|
100
100
|
$ bundle install
|
101
101
|
$ bundle exec rake build
|
102
|
-
$ gem install pkg/fluent-plugin-td-monitoring-0.1.
|
102
|
+
$ gem install pkg/fluent-plugin-td-monitoring-0.1.2.gem
|
103
103
|
$ fluentd -c fluentd.conf
|
104
104
|
```
|
105
105
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -3,7 +3,7 @@ module Fluent
|
|
3
3
|
require_relative 'out_td_counter'
|
4
4
|
|
5
5
|
class TDMonitorAgentInput < Input
|
6
|
-
VERSION = "0.1.
|
6
|
+
VERSION = "0.1.2"
|
7
7
|
|
8
8
|
Plugin.register_input('td_monitor_agent', self)
|
9
9
|
|
@@ -17,7 +17,11 @@ module Fluent
|
|
17
17
|
config_param :read_timeout, :integer, :default => 10
|
18
18
|
config_param :send_timeout, :integer, :default => 10
|
19
19
|
|
20
|
-
config_param :disable_node_info, :bool, :default =>
|
20
|
+
config_param :disable_node_info, :bool, :default => true
|
21
|
+
|
22
|
+
unless method_defined?(:log)
|
23
|
+
define_method(:log) { $log }
|
24
|
+
end
|
21
25
|
|
22
26
|
def initialize
|
23
27
|
super
|
@@ -27,11 +31,12 @@ module Fluent
|
|
27
31
|
end
|
28
32
|
|
29
33
|
class TimerWatcher < Coolio::TimerWatcher
|
30
|
-
def initialize(interval, repeat, &callback)
|
34
|
+
def initialize(interval, repeat, log, &callback)
|
31
35
|
@callback = callback
|
32
36
|
# Avoid long shutdown time
|
33
37
|
@num_call = 0
|
34
38
|
@call_interval = interval / 10
|
39
|
+
@log = log
|
35
40
|
super(10, repeat)
|
36
41
|
end
|
37
42
|
|
@@ -42,8 +47,8 @@ module Fluent
|
|
42
47
|
@callback.call
|
43
48
|
end
|
44
49
|
rescue => e
|
45
|
-
|
46
|
-
|
50
|
+
@log.error e.to_s
|
51
|
+
@log.error_backtrace
|
47
52
|
end
|
48
53
|
end
|
49
54
|
|
@@ -70,22 +75,22 @@ module Fluent
|
|
70
75
|
end
|
71
76
|
rescue => e
|
72
77
|
@disable_node_info = true
|
73
|
-
|
78
|
+
log.warn "Failed to get system metrics. Set 'disable_node_info' to true: #{e}"
|
74
79
|
end
|
75
80
|
@counters = collect_counters
|
76
81
|
|
77
82
|
unless register_instance_info
|
78
|
-
|
83
|
+
log.warn "Can't register instance information at start"
|
79
84
|
end
|
80
85
|
|
81
86
|
@loop = Coolio::Loop.new
|
82
|
-
@timer = TimerWatcher.new(@emit_interval, true, &method(:on_timer))
|
87
|
+
@timer = TimerWatcher.new(@emit_interval, true, log, &method(:on_timer))
|
83
88
|
@loop.attach(@timer)
|
84
89
|
@thread = Thread.new(&method(:run))
|
85
90
|
end
|
86
91
|
|
87
92
|
def shutdown
|
88
|
-
|
93
|
+
log.info "shutdown td_monitor_agent plugin"
|
89
94
|
|
90
95
|
@loop.watchers.each {|w| w.detach }
|
91
96
|
@loop.stop
|
@@ -95,8 +100,8 @@ module Fluent
|
|
95
100
|
def run
|
96
101
|
@loop.run
|
97
102
|
rescue => e
|
98
|
-
|
99
|
-
|
103
|
+
log.error "unexpected error", :error=> e.to_s
|
104
|
+
log.error_backtrace
|
100
105
|
end
|
101
106
|
|
102
107
|
EVENT_ENDPOINT_PATH = '/v1/monitoring/start'
|
@@ -108,7 +113,7 @@ module Fluent
|
|
108
113
|
end
|
109
114
|
sleep 2
|
110
115
|
}
|
111
|
-
|
116
|
+
log.error "Send instance metrics failed. Try next #{@emit_interval} seconds"
|
112
117
|
end
|
113
118
|
|
114
119
|
private
|
@@ -202,11 +207,11 @@ module Fluent
|
|
202
207
|
begin
|
203
208
|
res = post(path, info)
|
204
209
|
unless res.code.to_s.start_with?('2')
|
205
|
-
|
210
|
+
log.warn "Get an error response: code = #{res.code}, message = #{res.body}"
|
206
211
|
return false
|
207
212
|
end
|
208
213
|
rescue => e
|
209
|
-
|
214
|
+
log.warn "Failed to send metrics: error = #{e.to_s}"
|
210
215
|
return false
|
211
216
|
end
|
212
217
|
true
|
@@ -247,7 +252,7 @@ module Fluent
|
|
247
252
|
end
|
248
253
|
|
249
254
|
def new_client(opts = {})
|
250
|
-
client = HTTPClient.new(@http_proxy, "
|
255
|
+
client = HTTPClient.new(@http_proxy, "TDMS Agent #{VERSION}")
|
251
256
|
client.connect_timeout = @connect_timeout
|
252
257
|
client.receive_timeout = @read_timeout
|
253
258
|
client.send_timeout = @send_timeout
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-td-monitoring
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Nakagawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
requirements: []
|
133
133
|
rubyforge_project:
|
134
|
-
rubygems_version: 2.2.
|
134
|
+
rubygems_version: 2.2.2
|
135
135
|
signing_key:
|
136
136
|
specification_version: 4
|
137
137
|
summary: ''
|