sensu-plugins-nginx 0.0.6 → 1.0.0

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 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