kldockeragent 0.5.9 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abddf3cacc1de263d02ee180bb3f4fea4053082a
4
- data.tar.gz: 76dafbf86dbf48aabbc9027e3905dc3858ef712c
3
+ metadata.gz: 523f3483e93ca597947ec856755a1e08f165c416
4
+ data.tar.gz: 78ec27a13d24964c0b0f9aa07e488fc8c6c7f154
5
5
  SHA512:
6
- metadata.gz: a1e2e83f811e8ac2f9cd4427d63ac04cf522dd8e871ea701a69d0728020186531ee78426a6bd331e85f4541ed9e69ef945b0f2c158b3e4095238d3c8c815a1c6
7
- data.tar.gz: 5b2fbdf3120d9dc5cd717e493fde7d6eaadbc39c507de9676069ca15dc35a08496f00f95073fbac49ea189bfb333625fb1cdfbbbbe3dff7a3da987e8fbc6be2d
6
+ metadata.gz: 9f0c293ff37b84bee484eb6705fe186c91a5d02193c102144617411c9b7b6bcaaff3854345fd88ac98e2b7d32fa06ff580dd53350350281a190d7024df219ae2
7
+ data.tar.gz: a441aab80df7f354a5d42e2f393e382b37f73c747183329cf33d49b9d758ca01256427c8cf35e6f16659f5a59cf398ad88a4e7f096df45e65e68ff46e166eb2f
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.9
1
+ 0.6.1
@@ -14,14 +14,13 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.required_ruby_version = '~> 2.3'
16
16
 
17
- s.add_dependency 'thread'
18
- s.add_dependency 'json'
19
- s.add_dependency 'trollop'
20
- s.add_dependency 'webrick'
21
- s.add_dependency 'sinatra'
22
- s.add_dependency 'openssl'
23
- s.add_dependency 'usagewatch'
24
- s.add_dependency 'rack-ssl'
17
+ s.add_dependency 'thread', '~> 0.2'
18
+ s.add_dependency 'json', '~> 2.0'
19
+ s.add_dependency 'trollop', '~> 2.1'
20
+ s.add_dependency 'webrick', '~> 1.3'
21
+ s.add_dependency 'sinatra', '~> 1.4'
22
+ s.add_dependency 'openssl', '~> 2.0'
23
+ s.add_dependency 'usagewatch', '~> 0.0'
25
24
 
26
- s.add_development_dependency 'rake'
25
+ s.add_development_dependency 'rake', '~> 10.4'
27
26
  end
@@ -33,7 +33,7 @@ module KL
33
33
  puts "Starting agent..."
34
34
 
35
35
  @@config = opts
36
- Process.daemon if opts[:daemon] and not opts[:mock]
36
+ Process.daemon() if opts[:daemon] and not opts[:mock]
37
37
  begin
38
38
  if not is_windows
39
39
  # trap signal
@@ -58,7 +58,9 @@ module KL
58
58
  web_server.start
59
59
 
60
60
  @@main_enabled = true
61
- while @@main_enabled; end
61
+ while @@main_enabled
62
+ sleep(1)
63
+ end
62
64
 
63
65
  rescue Exception => e
64
66
  KL.logger.error "Starting the agent [Failed] #{e}\n#{e.backtrace.join("\n")}"
@@ -120,20 +120,67 @@ module KL
120
120
  def KL.Request_getDockerListAllApplications
121
121
  filter = '_klac'
122
122
  apps = Array.new
123
- query = `docker ps --filter="name=#{filter}" --format="{{.ID}}::{{.Names}}::{{.Status}}::{{.Image}}"`
123
+ query = `docker ps --format="{{.ID}}::{{.Names}}::{{.Status}}::{{.Image}}"`
124
124
  query.gsub!(/\r\n?/, "\n")
125
125
  query.each_line do |line|
126
126
  data = line.split('::')
127
127
  apps.push({
128
128
  'id' => data[0],
129
- 'name' => data[1].gsub(filter,""),
129
+ 'name' => data[1],
130
130
  'status'=>data[2],
131
- 'image'=>data[3].gsub("\n","")
131
+ 'image'=>data[3].gsub("\n",""),
132
+ 'stats'=>KL.getDockerConfigData(data[0]),
133
+ 'application' => KL.getApplicationInfo(data[1], filter)
132
134
  })
133
135
  end
134
136
  return apps
135
137
  end
136
138
 
139
+ def KL.getDockerConfigData(container)
140
+ query = `docker stats --no-stream #{container}`
141
+ query.gsub!(/\r\n?/, "\n")
142
+ keys = Array.new
143
+ values = Array.new
144
+ out = '{'
145
+ i = 0
146
+ query.each_line do |line|
147
+ data = line.split(' ')
148
+ data.each do |value|
149
+ if (value.strip != '')
150
+ if (i == 0)
151
+ keys.push(value.strip)
152
+ else
153
+ values.push(value.strip)
154
+ end
155
+ end
156
+ end
157
+ i = i + 1
158
+ end
159
+ i = 0
160
+ keys.each do |key|
161
+ if (i > 0)
162
+ out = out + ','
163
+ end
164
+ out = out + "\"#{key}\":\"#{values[i]}\""
165
+ i = i + 1
166
+ end
167
+ out = out + '}'
168
+
169
+ return JSON.parse(out)
170
+ end
171
+
172
+ def KL.removeEmptyObjects(json)
173
+ return json.gsub('{}','""')
174
+ end
175
+
176
+ def KL.getApplicationInfo(name, filter)
177
+ output = ""
178
+ if (name.include? filter)
179
+ output = name.gsub(filter,'')
180
+ end
181
+ return output
182
+ end
183
+
137
184
  def KL.Request_getSystemInfo
138
185
  usw = Usagewatch
139
186
  info = {}
@@ -143,8 +190,6 @@ module KL
143
190
  info['diskused_perc'] = usw.uw_diskused_perc.to_s
144
191
  info['cpuused'] = usw.uw_cpuused.to_s
145
192
  info['memused'] = usw.uw_memused.to_s
146
- #info['cputop'] = usw.uw_cputop
147
- #info['memtop'] = usw.uw_memtop
148
193
  else
149
194
  info['os'] = 'not linux'
150
195
  end
metadata CHANGED
@@ -1,141 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kldockeragent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kytoonlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-12 00:00:00.000000000 Z
11
+ date: 2017-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thread
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: trollop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: webrick
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.3'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1.4'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1.4'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: openssl
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '2.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '2.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: usagewatch
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '0.0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rack-ssl
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
110
+ version: '0.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: rake
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - ">="
115
+ - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '0'
117
+ version: '10.4'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - ">="
122
+ - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '10.4'
139
125
  description: Agent with REST Api to send information about docker containers
140
126
  email: admin@kytoonlabs.com
141
127
  executables:
@@ -176,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
162
  version: '0'
177
163
  requirements: []
178
164
  rubyforge_project:
179
- rubygems_version: 2.0.14.1
165
+ rubygems_version: 2.6.8
180
166
  signing_key:
181
167
  specification_version: 4
182
168
  summary: KL DockerAgent