bipbip 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bipbip/plugin/monit.rb +3 -2
- data/lib/bipbip/plugin/nginx.rb +37 -4
- data/lib/bipbip/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8615ee93456416705bad1b09adc7bfb8368b7bd6
|
4
|
+
data.tar.gz: b1effdd60eb893891010b2e2deedd2a32a933a92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f023ced080ea09a708f2ff807784d4961449a1ae9f297a38b830d1998ae2fd03877414395a173eea6ba947aea0b58000a8a441721e6c3e9424b495464090e0d
|
7
|
+
data.tar.gz: f8322e10204735a71a92e2263570b95cf71eee1c93ec189a3a077437b09449db459ddfe50c89524f71a8a3a1721f51c84499d167e20bfc6f0992a7d18b8e9026
|
data/lib/bipbip/plugin/monit.rb
CHANGED
@@ -4,9 +4,10 @@ module Bipbip
|
|
4
4
|
|
5
5
|
class Plugin::Monit < Plugin
|
6
6
|
|
7
|
-
#See https://bitbucket.org/tildeslash/monit/src/d60968cf7972cc902e5b6e2961d44456e1d9b736/src/monit.h?at=master#
|
8
|
-
# https://bitbucket.org/tildeslash/monit/src/d60968cf7972cc902e5b6e2961d44456e1d9b736/src/monit.h?at=master#cl-146
|
7
|
+
# See https://bitbucket.org/tildeslash/monit/src/d60968cf7972cc902e5b6e2961d44456e1d9b736/src/monit.h?at=master#monit.h-145
|
9
8
|
STATE_FAILED = '1'
|
9
|
+
|
10
|
+
# See https://bitbucket.org/tildeslash/monit/src/d60968cf7972cc902e5b6e2961d44456e1d9b736/src/monit.h?at=master#monit.h-135
|
10
11
|
MONITOR_NOT = '0'
|
11
12
|
|
12
13
|
def metrics_schema
|
data/lib/bipbip/plugin/nginx.rb
CHANGED
@@ -4,7 +4,14 @@ module Bipbip
|
|
4
4
|
|
5
5
|
def metrics_schema
|
6
6
|
[
|
7
|
-
|
7
|
+
{:name => 'connections_accepts', :type => 'counter', :unit => 'Connections'},
|
8
|
+
{:name => 'connections_handled', :type => 'counter', :unit => 'Connections'},
|
9
|
+
{:name => 'connections_dropped', :type => 'counter', :unit => 'Connections'},
|
10
|
+
{:name => 'connections_requests', :type => 'counter', :unit => 'Requests'},
|
11
|
+
{:name => 'active_total', :type => 'gauge', :unit => 'Connections'},
|
12
|
+
{:name => 'active_reading', :type => 'gauge', :unit => 'Connections'},
|
13
|
+
{:name => 'active_writing', :type => 'gauge', :unit => 'Connections'},
|
14
|
+
{:name => 'active_waiting', :type => 'gauge', :unit => 'Connections'},
|
8
15
|
]
|
9
16
|
end
|
10
17
|
|
@@ -14,10 +21,36 @@ module Bipbip
|
|
14
21
|
|
15
22
|
raise "Invalid response from server at #{config['url']}" unless response.code == "200"
|
16
23
|
|
17
|
-
|
18
|
-
|
24
|
+
lines = response.body.split(/\r*\n/)
|
25
|
+
lines.map { |line| line.strip! }
|
19
26
|
|
20
|
-
|
27
|
+
data = {}
|
28
|
+
|
29
|
+
stats_connections = match_or_fail(lines[2], /^(\d+) (\d+) (\d+)$/)
|
30
|
+
data[:connections_accepts] = stats_connections[1].to_i
|
31
|
+
data[:connections_handled] = stats_connections[2].to_i
|
32
|
+
data[:connections_dropped] = data[:connections_accepts] - data[:connections_handled]
|
33
|
+
data[:connections_requests] = stats_connections[3].to_i
|
34
|
+
|
35
|
+
stats_active_total = match_or_fail(lines[0], /^Active connections: (\d+)$/)
|
36
|
+
data[:active_total] = stats_active_total[1].to_i
|
37
|
+
|
38
|
+
stats_active = match_or_fail(lines[3], /^Reading: (\d+) Writing: (\d+) Waiting: (\d+)$/)
|
39
|
+
data[:active_reading] = stats_active[1].to_i
|
40
|
+
data[:active_writing] = stats_active[2].to_i
|
41
|
+
data[:active_waiting] = stats_active[3].to_i
|
42
|
+
|
43
|
+
data
|
44
|
+
end
|
45
|
+
|
46
|
+
# @param [String] string
|
47
|
+
# @param [Regexp] regexp
|
48
|
+
def match_or_fail(string, regexp)
|
49
|
+
match_data = regexp.match(string)
|
50
|
+
if match_data.nil?
|
51
|
+
raise "Data `#{string}` doesn't match pattern `#{regexp}`."
|
52
|
+
end
|
53
|
+
match_data
|
21
54
|
end
|
22
55
|
end
|
23
56
|
end
|
data/lib/bipbip/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bipbip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cargo Media
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-07-
|
13
|
+
date: 2015-07-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: copperegg-revealmetrics
|
@@ -194,6 +194,20 @@ dependencies:
|
|
194
194
|
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: '2.0'
|
197
|
+
- !ruby/object:Gem::Dependency
|
198
|
+
name: webmock
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - "~>"
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '1.21'
|
204
|
+
type: :development
|
205
|
+
prerelease: false
|
206
|
+
version_requirements: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - "~>"
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '1.21'
|
197
211
|
description: Agent to collect data for common server programs and push them to CopperEgg
|
198
212
|
email: hello@cargomedia.ch
|
199
213
|
executables:
|