sensu-plugins-nginx 0.0.6 → 1.0.0

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: 0cc0a2122ad36a866b456269567c28e1dc90afc4
4
- data.tar.gz: 50cd2bb952354c97cb18d67f025df1e0ea8bd113
3
+ metadata.gz: 4929bc899f1b85b16f1568ae7cf81524895b7ee6
4
+ data.tar.gz: 50943d1afac42702f95a50ac2751da88171c3f20
5
5
  SHA512:
6
- metadata.gz: 360688aff8cf8a453d4bdf43b4e01dd1d79a82abfe8742247691aab97f5a60dd3b4d332861a9c77c3cee8209f4ed65647f6ddead4301da878d6cb6d035511371
7
- data.tar.gz: 66e1dd76f5ebcbaa0a6e906176ca593671df034a9c748a140ce5f36627542f38172498cb5a03517389de5c4e07aa85e546292dd95cc888bdafa2cb5fe30f8c42
6
+ metadata.gz: d0acdcb24b8fb792989353206aee966bece39b930c2e6133a9df6259e2813f544d710352773131fb60cb99073ade348e8bdaa76aa0cb4c60de2102c4360644db
7
+ data.tar.gz: 668fa7cccc1096cee779fadd1db308e3f4d7ff9913b4efe9c34f38242ff28ce5ce9e45d641d28439876b33e051ac0014f549762de99425dc485a41762feb25e8
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -4,7 +4,17 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
6
  ## Unreleased
7
- -nothing
7
+
8
+ [1.0.0] - 2015-12-03
9
+ ### Added
10
+ - metrics-nginx.rb: Added default hostname of 'localhost'
11
+ - metrics-nginx.rb: Added usage
12
+
13
+ ### Removed
14
+ - Removed nginx-metrics.rb; use metrics-nginx.rb instead
15
+
16
+ ### Changed
17
+ - Update to rubocop 0.32.1
8
18
 
9
19
  ## [0.0.6] - 2015-08-04
10
20
  ### Changed
@@ -13,7 +23,6 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
13
23
  ## [0.0.5] - 2015-07-15
14
24
  - bump version due to wrong file name, no code changes
15
25
 
16
-
17
26
  ## [0.0.4] - 2015-07-14 **YANKED**
18
27
  ### Changed
19
28
  - updated sensu-plugin gem to 1.2.0
data/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  ## Sensu-Plugins-nginx
2
2
 
3
- [ ![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-nginx.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-nginx)
3
+ [![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-nginx.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-nginx)
4
4
  [![Gem Version](https://badge.fury.io/rb/sensu-plugins-nginx.svg)](http://badge.fury.io/rb/sensu-plugins-nginx)
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-nginx/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-nginx)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-nginx/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-nginx)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-nginx.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-nginx)
8
- [ ![Codeship Status for sensu-plugins/sensu-plugins-nginx](https://codeship.com/projects/cb4b6810-cb1c-0132-b746-0ab4e5d2e01d/status?branch=master)](https://codeship.com/projects/75658)
8
+ [![Codeship Status for sensu-plugins/sensu-plugins-nginx](https://codeship.com/projects/cb4b6810-cb1c-0132-b746-0ab4e5d2e01d/status?branch=master)](https://codeship.com/projects/75658)
9
9
 
10
10
  ## Functionality
11
11
 
12
- **nginx-metrics**
12
+ **metrics-nginx**
13
13
 
14
14
  Fetch the nginx status page and convert the response into graphite metrics
15
15
 
16
16
  ## Files
17
- * bin/nginx-metrics.rb
17
+ * bin/metrics-nginx.rb
18
18
  Get the nginx metrics from the status page url for use with Graphite
19
19
 
20
20
  ## Usage
data/bin/metrics-nginx.rb CHANGED
@@ -15,7 +15,8 @@
15
15
  # gem: sensu-plugin
16
16
  #
17
17
  # USAGE:
18
- # #YELLOW
18
+ # metrics-nginx.rb -h hostname -p port -q status_path
19
+ # metrics-nginx.rb -u http://hostname:port/status_path
19
20
  #
20
21
  # NOTES:
21
22
  #
@@ -42,10 +43,11 @@ class NginxMetrics < Sensu::Plugin::Metric::CLI::Graphite
42
43
  option :hostname,
43
44
  short: '-h HOSTNAME',
44
45
  long: '--host HOSTNAME',
45
- description: 'Nginx hostname'
46
+ description: 'Nginx hostname',
47
+ default: 'localhost'
46
48
 
47
49
  option :port,
48
- short: '-P PORT',
50
+ short: '-p PORT',
49
51
  long: '--port PORT',
50
52
  description: 'Nginx port',
51
53
  default: '80'
@@ -64,7 +66,7 @@ class NginxMetrics < Sensu::Plugin::Metric::CLI::Graphite
64
66
 
65
67
  # Main function
66
68
  #
67
- def run # rubocop:disable all
69
+ def run
68
70
  found = false
69
71
  attempts = 0
70
72
  until found || attempts >= 10
@@ -92,7 +94,7 @@ class NginxMetrics < Sensu::Plugin::Metric::CLI::Graphite
92
94
  end
93
95
 
94
96
  # #YELLOW
95
- response.body.split(/\r?\n/).each do |line| # rubocop:disable Style/Next
97
+ response.body.split(/\r?\n/).each do |line|
96
98
  if line.match(/^Active connections:\s+(\d+)/)
97
99
  connections = line.match(/^Active connections:\s+(\d+)/).to_a
98
100
  output "#{config[:scheme]}.active_connections", connections[1]
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsNginx
2
2
  module Version
3
- MAJOR = 0
3
+ MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 6
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-nginx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
@@ -30,7 +30,7 @@ cert_chain:
30
30
  8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
31
  HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
32
  -----END CERTIFICATE-----
33
- date: 2015-08-05 00:00:00.000000000 Z
33
+ date: 2015-12-03 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sensu-plugin
@@ -150,14 +150,14 @@ dependencies:
150
150
  requirements:
151
151
  - - '='
152
152
  - !ruby/object:Gem::Version
153
- version: '0.30'
153
+ version: 0.32.1
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: '0.30'
160
+ version: 0.32.1
161
161
  - !ruby/object:Gem::Dependency
162
162
  name: yard
163
163
  requirement: !ruby/object:Gem::Requirement
@@ -174,10 +174,9 @@ dependencies:
174
174
  version: '0.8'
175
175
  description: |-
176
176
  This plugin provides native nginx instrumentation
177
- for metrics collection, including: metrics via `stub_status`
177
+ for metrics collection, including: metrics via `stub_status`.
178
178
  email: "<sensu-users@googlegroups.com>"
179
179
  executables:
180
- - nginx-metrics.rb
181
180
  - metrics-nginx.rb
182
181
  extensions: []
183
182
  extra_rdoc_files: []
@@ -186,7 +185,6 @@ files:
186
185
  - LICENSE
187
186
  - README.md
188
187
  - bin/metrics-nginx.rb
189
- - bin/nginx-metrics.rb
190
188
  - lib/sensu-plugins-nginx.rb
191
189
  - lib/sensu-plugins-nginx/version.rb
192
190
  homepage: https://github.com/sensu-plugins/sensu-plugins-nginx
metadata.gz.sig CHANGED
Binary file
data/bin/nginx-metrics.rb DELETED
@@ -1,115 +0,0 @@
1
- #! /usr/bin/env ruby
2
- #
3
- # nginx-metrics
4
- #
5
- # DESCRIPTION:
6
- # Pull nginx metrics for backends through stub status module
7
- #
8
- # OUTPUT:
9
- # metric data
10
- #
11
- # PLATFORMS:
12
- # Linux
13
- #
14
- # DEPENDENCIES:
15
- # gem: sensu-plugin
16
- #
17
- # USAGE:
18
- # #YELLOW
19
- #
20
- # NOTES:
21
- #
22
- # LICENSE:
23
- # Copyright 2012 Pete Shima <me@peteshima.com>
24
- # Released under the same terms as Sensu (the MIT license); see LICENSE
25
- # for details.
26
- #
27
-
28
- require 'sensu-plugin/metric/cli'
29
- require 'net/https'
30
- require 'uri'
31
- require 'socket'
32
-
33
- #
34
- # Nginx Metrics
35
- #
36
- class NginxMetrics < Sensu::Plugin::Metric::CLI::Graphite
37
- option :url,
38
- short: '-u URL',
39
- long: '--url URL',
40
- description: 'Full URL to nginx status page, example: https://yoursite.com/nginx_status This ignores ALL other options EXCEPT --scheme'
41
-
42
- option :hostname,
43
- short: '-h HOSTNAME',
44
- long: '--host HOSTNAME',
45
- description: 'Nginx hostname'
46
-
47
- option :port,
48
- short: '-P PORT',
49
- long: '--port PORT',
50
- description: 'Nginx port',
51
- default: '80'
52
-
53
- option :path,
54
- short: '-q STATUSPATH',
55
- long: '--statspath STATUSPATH',
56
- description: 'Path to your stub status module',
57
- default: 'nginx_status'
58
-
59
- option :scheme,
60
- description: 'Metric naming scheme, text to prepend to metric',
61
- short: '-s SCHEME',
62
- long: '--scheme SCHEME',
63
- default: "#{Socket.gethostname}.nginx"
64
-
65
- # Main function
66
- #
67
- def run # rubocop:disable all
68
- found = false
69
- attempts = 0
70
- until found || attempts >= 10
71
- attempts += 1
72
- if config[:url]
73
- uri = URI.parse(config[:url])
74
- http = Net::HTTP.new(uri.host, uri.port)
75
- if uri.scheme == 'https'
76
- http.use_ssl = true
77
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
78
- end
79
- request = Net::HTTP::Get.new(uri.request_uri)
80
- response = http.request(request)
81
- if response.code == '200'
82
- found = true
83
- elsif !response.header['location'].nil?
84
- config[:url] = response.header['location']
85
- end
86
- else
87
- response = Net::HTTP.start(config[:hostname], config[:port]) do |connection|
88
- request = Net::HTTP::Get.new("/#{config[:path]}")
89
- connection.request(request)
90
- end
91
- end
92
- end
93
-
94
- # #YELLOW
95
- response.body.split(/\r?\n/).each do |line| # rubocop:disable Style/Next
96
- if line.match(/^Active connections:\s+(\d+)/)
97
- connections = line.match(/^Active connections:\s+(\d+)/).to_a
98
- output "#{config[:scheme]}.active_connections", connections[1]
99
- end
100
- if line.match(/^\s+(\d+)\s+(\d+)\s+(\d+)/)
101
- requests = line.match(/^\s+(\d+)\s+(\d+)\s+(\d+)/).to_a
102
- output "#{config[:scheme]}.accepts", requests[1]
103
- output "#{config[:scheme]}.handled", requests[2]
104
- output "#{config[:scheme]}.requests", requests[3]
105
- end
106
- if line.match(/^Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/)
107
- queue = line.match(/^Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/).to_a
108
- output "#{config[:scheme]}.reading", queue[1]
109
- output "#{config[:scheme]}.writing", queue[2]
110
- output "#{config[:scheme]}.waiting", queue[3]
111
- end
112
- end
113
- ok
114
- end
115
- end