logstash-input-ganglia 3.0.2 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/logstash/inputs/ganglia.rb +3 -2
- data/lib/logstash/inputs/ganglia/gmondpacket.rb +24 -31
- data/logstash-input-ganglia.gemspec +1 -1
- data/spec/inputs/ganglia_spec.rb +11 -0
- 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: e71cd4eb2c312f38f6a9cdd424a1b40eaa104095
|
4
|
+
data.tar.gz: 8ce6c1eace0180133fe1408b4267224447e1e835
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e201136446763096ad428755dbf2896ec589d7ce5ede7bdac752a513efd5dc1e2963c4baa63ea267667afda2267b21ca1e712491b3f158e883d5e5067eda5517
|
7
|
+
data.tar.gz: abb1831b01ad5fa9206a10daa9c64c71dcb1ac98a4b64b93a8e957adb470e7a4e3d9abffb76314850a172a1c165aa331d91cd421700677781adf093597f74010
|
data/CHANGELOG.md
CHANGED
@@ -111,8 +111,9 @@ class LogStash::Inputs::Ganglia < LogStash::Inputs::Base
|
|
111
111
|
|
112
112
|
# Check if it was a valid data request
|
113
113
|
return nil unless data
|
114
|
-
props={ "program" => "ganglia", "log_host" => data["hostname"]
|
115
|
-
|
114
|
+
props={ "program" => "ganglia", "log_host" => data["hostname"],
|
115
|
+
"val" => data["val"] }
|
116
|
+
%w{dmax tmax slope type units name}.each do |info|
|
116
117
|
props[info] = @metadata[data["name"]][info]
|
117
118
|
end
|
118
119
|
return LogStash::Event.new(props)
|
@@ -20,12 +20,22 @@ class GmonPacket
|
|
20
20
|
case type
|
21
21
|
when 128
|
22
22
|
@type=:meta
|
23
|
+
when 129
|
24
|
+
@type=:ushort
|
25
|
+
when 130
|
26
|
+
@type=:short
|
27
|
+
when 131
|
28
|
+
@type=:int
|
23
29
|
when 132
|
24
|
-
@type=:
|
25
|
-
when 133
|
26
|
-
@type=:
|
30
|
+
@type=:uint
|
31
|
+
when 133
|
32
|
+
@type=:string
|
33
|
+
when 134
|
34
|
+
@type=:float
|
27
35
|
when 135
|
28
|
-
@type=:
|
36
|
+
@type=:double
|
37
|
+
when 136
|
38
|
+
@type=:meta_request
|
29
39
|
else
|
30
40
|
@type=:unknown
|
31
41
|
end
|
@@ -36,7 +46,7 @@ class GmonPacket
|
|
36
46
|
end
|
37
47
|
|
38
48
|
def data?
|
39
|
-
|
49
|
+
[:ushort, :short, :int, :uint, :string, :float, :double].include? @type
|
40
50
|
end
|
41
51
|
|
42
52
|
def meta?
|
@@ -94,15 +104,7 @@ class GmonPacket
|
|
94
104
|
data['spoof']=@xdr.uint32
|
95
105
|
data['format']=@xdr.string
|
96
106
|
|
97
|
-
|
98
|
-
|
99
|
-
if metrictype.nil?
|
100
|
-
# Probably we got a data packet before a metadata packet
|
101
|
-
#puts "Received datapacket without metadata packet"
|
102
|
-
return nil
|
103
|
-
end
|
104
|
-
|
105
|
-
data['val']=parse_value(metrictype)
|
107
|
+
data['val']=parse_value(@type)
|
106
108
|
|
107
109
|
# If we received a packet, last update was 0 time ago
|
108
110
|
data['tn']=0
|
@@ -114,19 +116,19 @@ class GmonPacket
|
|
114
116
|
def parse_value(type)
|
115
117
|
value=:unknown
|
116
118
|
case type
|
117
|
-
when
|
119
|
+
when :short
|
118
120
|
value=@xdr.int16
|
119
|
-
when
|
121
|
+
when :ushort
|
120
122
|
value=@xdr.uint16
|
121
|
-
when
|
122
|
-
value=@xdr.uint32
|
123
|
-
when "int32"
|
123
|
+
when :int
|
124
124
|
value=@xdr.int32
|
125
|
-
when
|
125
|
+
when :uint
|
126
|
+
value=@xdr.uint32
|
127
|
+
when :float
|
126
128
|
value=@xdr.float32
|
127
|
-
when
|
129
|
+
when :double
|
128
130
|
value=@xdr.float64
|
129
|
-
when
|
131
|
+
when :string
|
130
132
|
value=@xdr.string
|
131
133
|
else
|
132
134
|
#puts "Received unknown type #{type}"
|
@@ -134,13 +136,4 @@ class GmonPacket
|
|
134
136
|
return value
|
135
137
|
end
|
136
138
|
|
137
|
-
# Does lookup of metricname in metadata table to find the correct type
|
138
|
-
def name_to_type(name,metadata)
|
139
|
-
# Lookup this metric metadata
|
140
|
-
meta=metadata[name]
|
141
|
-
return nil if meta.nil?
|
142
|
-
|
143
|
-
return meta['type']
|
144
|
-
end
|
145
|
-
|
146
139
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-input-ganglia'
|
4
|
-
s.version = '3.0
|
4
|
+
s.version = '3.1.0'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Read ganglia packets from the network via udp"
|
7
7
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
data/spec/inputs/ganglia_spec.rb
CHANGED
@@ -61,5 +61,16 @@ describe LogStash::Inputs::Ganglia do
|
|
61
61
|
expect(event.get("tmax")).to eq(60)
|
62
62
|
end
|
63
63
|
|
64
|
+
it "should receive the correct data type" do
|
65
|
+
expect(event.get("type")).to eq('uint8')
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should receive the name" do
|
69
|
+
expect(event.get("name")).to eq('pageviews')
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should receive the value" do
|
73
|
+
expect(event.get("val")).to eq('7000')
|
74
|
+
end
|
64
75
|
end
|
65
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-ganglia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
129
|
rubyforge_project:
|
130
|
-
rubygems_version: 2.
|
130
|
+
rubygems_version: 2.4.8
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: Read ganglia packets from the network via udp
|