gri 10.0.4 → 10.0.5
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/gri/fake_snmp.rb +2 -0
- data/lib/gri/plugin/docker_collector.rb +34 -2
- data/lib/gri/plugin/writer_influxdb.rb +3 -0
- data/lib/gri/version.rb +1 -1
- data/misc/Dockerfile +2 -2
- 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: 18b74441643b4d4919d26663b826f09ed5e79342
|
4
|
+
data.tar.gz: eecd64dcd712c1f52a9bbfc7ff7b4c21a32557ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6399065907869a2d48bac6d93dbf7b43f34782278a41b8f716d2599a84711b3c6fe852660d0dc78375dbaec570ab186b31dffcbb1adf1100e39d9ba365aacdca
|
7
|
+
data.tar.gz: 2efbd5d418c136348a4344dff121a4d2cd3d45e1cc215c455dc99efa9ba8cb5a72dd786689bca9c9a3c38771d9f8e731aa8a197ed0b2da828b988eecae549dda
|
data/lib/gri/fake_snmp.rb
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
if Object.const_defined? :RUBY_VERSION
|
2
2
|
|
3
|
+
#GRI::DEFS.update 'docker'=>{
|
4
|
+
# :ds=>['inbytes.0,inoctet,DERIVE,MAX,AREA,#90f090,in,8',
|
5
|
+
# 'outbytes.0,outoctet,DERIVE,MAX,LINE1,#0000ff,out,8',
|
6
|
+
# ],
|
7
|
+
# :list=>['Docker'],
|
8
|
+
# :prop=>{:name=>'_index'},
|
9
|
+
# :graph=>[['bps', 1000, [0, nil], /octet/]],
|
10
|
+
#}
|
11
|
+
|
3
12
|
begin
|
4
13
|
|
5
14
|
require 'net/http'
|
@@ -17,13 +26,15 @@ module GRI
|
|
17
26
|
host = @hostname || @host
|
18
27
|
port = @options["docker-port"] || 2375
|
19
28
|
port = port.to_i
|
29
|
+
|
30
|
+
puts "docker: #{host}:#{port}" if $debug
|
20
31
|
Net::HTTP.start(host, port) {|http|
|
21
32
|
res = http.get '/info'
|
22
33
|
if Net::HTTPSuccess === res
|
23
34
|
h = JSON.parse(res.body)
|
24
35
|
for k in ['Containers', 'Images',
|
25
36
|
'NEventsListener', 'NFd', 'NGoroutines']
|
26
|
-
record = {'_host'=>host, '_time'=>now_i,
|
37
|
+
record = {'_host'=>host, '_time'=>now_i, '_interval'=>@interval,
|
27
38
|
'_key'=>"num_docker_#{k}", 'num'=>h[k],
|
28
39
|
}
|
29
40
|
records.push record
|
@@ -42,7 +53,12 @@ module GRI
|
|
42
53
|
'_key'=>"docker_#{docker_hostname}"
|
43
54
|
}
|
44
55
|
for mkey, mvalues in metrics
|
45
|
-
|
56
|
+
if mkey == 'memory' or mkey == 'cpuacct'
|
57
|
+
h = hflat mvalues
|
58
|
+
else
|
59
|
+
h = mvalues
|
60
|
+
end
|
61
|
+
for k, v in h
|
46
62
|
record[k] = v
|
47
63
|
end
|
48
64
|
end
|
@@ -56,6 +72,22 @@ module GRI
|
|
56
72
|
@loop.detach self
|
57
73
|
end
|
58
74
|
|
75
|
+
def hflat h
|
76
|
+
hh = {}
|
77
|
+
for k, v in h
|
78
|
+
if Hash === v
|
79
|
+
hh.update hflat(v)
|
80
|
+
elsif Array === v
|
81
|
+
v.each_with_index {|vv, ind|
|
82
|
+
hh["#{k}.#{ind}"] = vv
|
83
|
+
}
|
84
|
+
else
|
85
|
+
hh[k] = v
|
86
|
+
end
|
87
|
+
end
|
88
|
+
hh
|
89
|
+
end
|
90
|
+
|
59
91
|
def get_container_info http, ctn_id
|
60
92
|
if Net::HTTPSuccess === (res = http.get "/containers/#{ctn_id}/json")
|
61
93
|
h = JSON.parse(res.body)
|
@@ -29,6 +29,7 @@ module GRI
|
|
29
29
|
def write records
|
30
30
|
time = Time.now.to_i
|
31
31
|
for record in records
|
32
|
+
record = record.dup
|
32
33
|
time = record.delete '_time'
|
33
34
|
#host = record.delete '_host'
|
34
35
|
key = record.delete '_key'
|
@@ -38,6 +39,8 @@ module GRI
|
|
38
39
|
next if data_name == 'SYS'
|
39
40
|
if data_name == ''
|
40
41
|
data_name = 'interfaces'
|
42
|
+
elsif data_name == 'docker'
|
43
|
+
data_name = "docker.#{index}"
|
41
44
|
end
|
42
45
|
record.update :time=>time.to_i, :key=>index
|
43
46
|
buffered_write data_name, record
|
data/lib/gri/version.rb
CHANGED
data/misc/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM centos
|
1
|
+
FROM centos:centos6
|
2
2
|
|
3
3
|
# cron
|
4
4
|
RUN yum install -y cronie
|
@@ -13,7 +13,7 @@ RUN gem install gri --no-ri --no-rdoc
|
|
13
13
|
RUN cp /usr/bin/grapher /var/www/cgi-bin/
|
14
14
|
|
15
15
|
# rrdtool
|
16
|
-
RUN yum install -y cairo gettext pango tcp_wrappers-libs libdbi
|
16
|
+
RUN yum install -y wget cairo gettext pango tcp_wrappers-libs libdbi
|
17
17
|
RUN yum install -y xorg-x11-fonts-Type1 ipa-gothic-fonts ipa-pgothic-fonts
|
18
18
|
RUN (cd /tmp; wget http://pkgs.repoforge.org/rrdtool/rrdtool-1.4.7-1.el6.rfx.x86_64.rpm)
|
19
19
|
RUN (cd /tmp; rpm --nodeps -i rrdtool-1.4.7-1.el6.rfx.x86_64.rpm)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.0.
|
4
|
+
version: 10.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- maebashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|