sensu-plugins-graylog 0.1.0 → 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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDJlMWM0ODRkODYxOWJmMDlmNjdjYmZjMTgzZGI0NmMwNmQ4YjlmZQ==
5
- data.tar.gz: !binary |-
6
- NjRhZDZlNDViZmYyNzZjNDdhNzRlNzUyOTY1ODE3NmY3ZDA0MTk4Ng==
2
+ SHA1:
3
+ metadata.gz: 34875fc3e0b9379938f61e3dd91ee152958883a6
4
+ data.tar.gz: 7fa8d94e8e8626bf49adc3c3b81e6f3b8baeaff1
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YWQ1MDQ3YWEwMjkwNDdkYzlhNzNlZGVhNWZmMDIyY2U0Njc1YjEyZWY4ZWIy
10
- NjRjYjI3ZTdiMGYwZDllNjYxNjJmYzEyZDkxZTk5MThiZTNiOWZjZjk3NTA3
11
- ODY3OTBhZjA4OTIyY2Q3ZDY3ZWYzMGFkMTIwYWZiOGNmM2UzNzk=
12
- data.tar.gz: !binary |-
13
- MThlMmY1Yjg3MWRmODg5NjY2NDE2ZDRjNDBmMjA1YTZkODU2ZDczZTQzN2Iz
14
- ZDU0Yjk2YWU5YmI0MzA5ODhjYThkZjdjODUzNGU3MWIzOTE2YjQ2MzgyYWYw
15
- NmU4MTQ5ZmYwYTJkOTc0ZDNmNjU2MWNhMDY1Zjk3NTY1ZWQxNjI=
6
+ metadata.gz: 99751c6798ac9b26cf7a22e214e39cf215eae6af28977b707a9e62c0736b554da2d9e97f840171add79f73f75eb63d221428c7bfccf9fa720205ea290487b21f
7
+ data.tar.gz: ded6b4ad2ea4ebf9af0e88362527d7cbea3cc4bfa52e180608e36ac912792e4cb2a1aabfb2372b5c058b4ab637a6eb6977526a24910004cbf9ed5f3123eb48f4
data/CHANGELOG.md CHANGED
@@ -1,10 +1,36 @@
1
- #Change Log
1
+ # Change Log
2
2
  This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+
9
+ ## [1.0.0] - 2017-03-15
10
+ This release drops support for Ruby 1.9.3 and converts `check-graylog-buffers` and `metrics-graylog`
11
+ from Python to Ruby. The Ruby versions were written to behave like the Python versions but as always testing
12
+ in your environment is encouraged.
13
+
14
+ ### Changed
15
+ - update check-graylog2-alive.rb to accept an `--apipath` argument to specify the path of the transport api
16
+ - update -alive lifecycle check because there are now multiple valid lifecyle states
17
+ - drop ruby 1.9.3 support; add 2.3.0
18
+ - update sensu-plugin dep to '~> 1.2'
19
+ - add some tests, this pulled in webmock to mock restclient calls
20
+ - update readme
21
+ - check-graylog-buffers
22
+ - port python to ruby
23
+ - py file is now a binstub for rb file
24
+ - add version support for pre/post 2.1.0 buffer metrics
25
+ - add apipath support
26
+ - add tests
27
+ - metrics-graylog
28
+ - port python to ruby
29
+ - py file is now a binstub for rb file
30
+ - add --all flag for more stats (still some work to do here)
31
+ - add apipath support
32
+ - add tests
33
+
8
34
  ## [0.1.0] - 2016-01-29
9
35
  ### Added
10
36
  - add new checks for graylog buffers and kafka journal
@@ -18,6 +44,7 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
18
44
  ### Added
19
45
  - initial release
20
46
 
21
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/0.1.0...HEAD
22
- [0.1.1]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/0.0.2...0.1.0
47
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/1.0.0...HEAD
48
+ [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/0.1.0...1.0.0
49
+ [0.1.0]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/0.0.2...0.1.0
23
50
  [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-graylog/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-graylog.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-graylog)
8
8
 
9
9
  ## Functionality
10
+ This plugin provides availability monitoring and metrics collection for the [Graylog](https://www.graylog.org/) log management system.
10
11
 
11
12
  ## Files
12
13
  * bin/check-graylog2-alive.rb
@@ -20,3 +21,6 @@
20
21
  [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
21
22
 
22
23
  ## Notes
24
+ - If you want a limited access user for monitoring purposes please see the [Graylog FAQ](http://docs.graylog.org/en/latest/pages/faq.html#how-can-i-create-a-restricted-user-to-check-internal-graylog-metrics-in-my-monitoring-system+)
25
+ - Users may further obfuscate their credentials by creating an [Access Token](http://docs.graylog.org/en/latest/pages/configuration/rest_api.html?highlight=access%20tokens#creating-and-using-access-token) to use instead of their normal login credentials.
26
+ - Note that only an admin may create a token by default. If you want to have a dedicated monitoring user with an access token you will need to create them as a Admin user, create the token, then change the user to the monitoring specific role. You can change the default behavior by granting `users:tokencreate`, `users:tokenlist`, and `users:tokenremove` to a role and adding that role to the monitoring user.
@@ -1,56 +1,9 @@
1
1
  #!/usr/bin/env python
2
2
 
3
- import urllib2
4
- import json
3
+ import os
5
4
  import sys
6
- import getopt
7
- import socket
8
5
 
9
- def main(argv):
10
- host = socket.getfqdn()
11
- user = "graylog2"
12
- password = "mypass"
13
- port = "12900"
14
- warnThreshold = 80.0
15
- critThreshold = 90.0
16
- try:
17
- opts, args = getopt.getopt(argv, "h:u:p:P:w:c:", ["host=","user=","pass=","port=", "warn=", "crit="])
18
- except getopt.GetoptError:
19
- print 'flag error'
20
- sys.exit(2)
21
- for opt, arg in opts:
22
- if opt in ("-h", "--host"):
23
- host = arg
24
- elif opt in ("-u", "--user"):
25
- user = arg
26
- elif opt in ("-p", "--pass"):
27
- password = arg
28
- elif opt in ("-P", "--port"):
29
- port = arg
30
- elif opt in ("-w", "--warn"):
31
- warnThreshold = float(arg)
32
- elif opt in ("-c", "--crit"):
33
- critThreshold = float(arg)
34
6
 
35
- # do stuff
36
- passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
37
- passman.add_password(None, 'http://'+ host + ':' + port + '/system/buffers', user, password)
38
- authhandler = urllib2.HTTPBasicAuthHandler(passman)
39
- opener = urllib2.build_opener(authhandler)
40
- urllib2.install_opener(opener)
41
-
42
- pagehandle = urllib2.urlopen('http://'+ host + ':' + port + '/system/buffers')
43
- data = json.load(pagehandle)
44
-
45
- if data['buffers']['process']['utilization_percent'] >= warnThreshold:
46
- print 'WARNING: process buffer utilization is %.2f%%, threshold is %.2f%%' % (data['buffers']['process']['utilization_percent'], warnThreshold)
47
- sys.exit(1)
48
- elif data['buffers']['process']['utilization_percent'] >= critThreshold:
49
- print 'CRITICAL: process buffer utilization is %.2f%%, threshold is %.2f%%' % (data['buffers']['process']['utilization_percent'], critThreshold)
50
- sys.exit(2)
51
- else:
52
- print 'OK: process buffer utilization is %.2f%%' % data['buffers']['process']['utilization_percent']
53
- sys.exit(0)
54
-
55
- if __name__ == "__main__":
56
- main(sys.argv[1:])
7
+ script = os.path.splitext(os.path.abspath( __file__ ))[0]
8
+ print script
9
+ os.execv(script + '.rb', sys.argv)
@@ -1,6 +1,161 @@
1
- #!/usr/bin/env ruby
1
+ #! /usr/bin/env ruby
2
+ # encoding: UTF-8
3
+ # check-graylog-buffers.rb
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin checks the the status of the Graylog2 buffers using the
7
+ # REST API normally available on port 12900
8
+ #
9
+ # OUTPUT:
10
+ # plain text
11
+ #
12
+ # PLATFORMS:
13
+ # Linux
14
+ #
15
+ # DEPENDENCIES:
16
+ # gem: sensu-plugin
17
+ # gem: json
18
+ # gem: rest-client
19
+ #
20
+ # USAGE:
21
+ # ./check-graylog-buffers.rb -u admin -p 12345
22
+ #
23
+ # NOTES:
24
+ # This plugin requires a username and password with permission to access
25
+ # the /system API call in the Graylog2 server. A basic non-admin, reader
26
+ # only account will do.
27
+ #
28
+ # LICENSE:
29
+ # nathan hruby <nhruby@gmail.com>
30
+ # SugarCRM
31
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
32
+ # for details.
33
+ #
2
34
 
3
- bin_dir = File.expand_path(File.dirname(__FILE__))
4
- shell_script_path = File.join(bin_dir, File.basename($PROGRAM_NAME, '.rb') + '.py')
35
+ require 'sensu-plugin/check/cli'
36
+ require 'json'
37
+ require 'rest-client'
5
38
 
6
- exec shell_script_path, *ARGV
39
+ class CheckGraylogBuffers < Sensu::Plugin::Check::CLI
40
+ option :host,
41
+ description: 'Graylog host',
42
+ short: '-h',
43
+ long: '--host HOST',
44
+ default: 'localhost'
45
+
46
+ option :username,
47
+ description: 'Graylog username',
48
+ short: '-u',
49
+ long: '--username USERNAME',
50
+ default: 'admin',
51
+ required: true
52
+
53
+ option :password,
54
+ description: 'Graylog password',
55
+ short: '-p',
56
+ long: '--password PASSWORD',
57
+ required: true
58
+
59
+ option :port,
60
+ description: 'Graylog API port',
61
+ short: '-P',
62
+ long: '--port PORT',
63
+ default: '12900'
64
+
65
+ option :apipath,
66
+ description: 'Graylog API path prefix',
67
+ short: '-a',
68
+ long: '--apipath /api',
69
+ default: ''
70
+
71
+ option :warn,
72
+ short: '-w WARNING',
73
+ long: '--warning',
74
+ proc: proc(&:to_f),
75
+ default: 80
76
+
77
+ option :crit,
78
+ short: '-c CRITICAL',
79
+ long: '--critical',
80
+ proc: proc(&:to_f),
81
+ default: 90
82
+
83
+ def run
84
+ version = acquire_version
85
+ if Gem::Version.new(version) < Gem::Version.new('2.1.0')
86
+ check_pre_210_buffers
87
+ else
88
+ check_210_buffers
89
+ end
90
+ rescue => e
91
+ unknown e.message
92
+ end
93
+
94
+ def call_api(path, postdata = nil)
95
+ resource = RestClient::Resource.new "http://#{config[:host]}:#{config[:port]}#{config[:apipath]}#{path}", config[:username], config[:password]
96
+ if !postdata
97
+ JSON.parse(resource.get)
98
+ else
99
+ JSON.parse(resource.post(postdata.to_json, content_type: :json, accept: :json))
100
+ end
101
+ rescue Errno::ECONNREFUSED => e
102
+ critical e.message
103
+ end
104
+
105
+ def acquire_version
106
+ ret = call_api('/system')
107
+ ret['version'].split('+')[0]
108
+ end
109
+
110
+ # https://github.com/Graylog2/graylog2-server/commit/0bd45c69f65011b50cb1e101c4a9c2eac97c0266
111
+ def check_pre_210_buffers
112
+ ret = call_api('/system/buffers')
113
+ utilization = ret['buffers']['process']['utilization_percent'].to_f
114
+ if utilization >= config[:crit]
115
+ critical format('process buffer utilization is %.2f%%, threshold is %.2f%%', utilization, config[:crit])
116
+ elsif utilization >= config[:warn]
117
+ warn format('process buffer utilization is %.2f%%, threshold is %.2f%%', utilization, config[:warn])
118
+ else
119
+ ok format('process buffer utilization is %.2f%%', utilization)
120
+ end
121
+ end
122
+
123
+ def check_210_buffers
124
+ postdata = {
125
+ 'metrics' => [
126
+ 'org.graylog2.buffers.input.usage',
127
+ 'org.graylog2.buffers.input.size',
128
+ 'org.graylog2.buffers.process.usage',
129
+ 'org.graylog2.buffers.process.size',
130
+ 'org.graylog2.buffers.output.usage',
131
+ 'org.graylog2.buffers.output.size'
132
+ ]
133
+ }
134
+ ret = call_api('/system/metrics/multiple', postdata)
135
+
136
+ if ret['total'] != 6
137
+ unkown format('API responded with incorrect number of metrics, got %d expected 6', ret['total'])
138
+ end
139
+
140
+ metric_pct = {}
141
+ %w(input process output).each do |m|
142
+ begin
143
+ usage = ret['metrics'].find { |x| x['full_name'] == "org.graylog2.buffers.#{m}.usage" }
144
+ size = ret['metrics'].find { |x| x['full_name'] == "org.graylog2.buffers.#{m}.size" }
145
+ metric_pct[m] = (usage['metric']['value'].to_f / size['metric']['value'].to_f) * 100.0
146
+ rescue ZeroDivisionError
147
+ metric_pct[m] = 0.0
148
+ end
149
+ end
150
+
151
+ message = format('buffer utilization is %.2f%%/%.2f%%/%.2f%%', metric_pct['input'], metric_pct['process'], metric_pct['output'])
152
+ metric_pct.each do |m, p|
153
+ if p >= config[:crit]
154
+ critical format('%s buffer exceeds %.2f%%, %s', m, config[:crit], message)
155
+ elsif p >= config[:warn]
156
+ warn format('%s buffer exceeds %.2f%%, %s', m, config[:warn], message)
157
+ end
158
+ end
159
+ ok message
160
+ end
161
+ end
@@ -57,11 +57,17 @@ class CheckGraylog2Alive < Sensu::Plugin::Check::CLI
57
57
  required: true
58
58
 
59
59
  option :port,
60
- description: 'RabbitMQ API port',
60
+ description: 'Graylog API port',
61
61
  short: '-P',
62
62
  long: '--port PORT',
63
63
  default: '12900'
64
64
 
65
+ option :apipath,
66
+ description: 'Graylog API path prefix',
67
+ short: '-a',
68
+ long: '--apipath /api',
69
+ default: ''
70
+
65
71
  def run
66
72
  res = vhost_alive?
67
73
 
@@ -79,15 +85,19 @@ class CheckGraylog2Alive < Sensu::Plugin::Check::CLI
79
85
  port = config[:port]
80
86
  username = config[:username]
81
87
  password = config[:password]
88
+ apipath = config[:apipath]
89
+
90
+ lifecycle_ok = ['override lb:alive', 'running']
82
91
 
83
92
  begin
84
- resource = RestClient::Resource.new "http://#{host}:#{port}/system", username, password
93
+ resource = RestClient::Resource.new "http://#{host}:#{port}#{apipath}/system", username, password
85
94
  # Attempt to parse response (just to trigger parse exception)
86
95
  response = JSON.parse(resource.get)
87
- if response['lifecycle'] == 'running' && response['is_processing'] && response['lb_status'] == 'alive'
88
- { 'status' => 'ok', 'message' => 'Graylog2 server is alive' }
96
+ status_text = "#{response['lifecycle']}/#{response['is_processing']}/#{response['lb_status']}"
97
+ if lifecycle_ok.include?(response['lifecycle']) && response['is_processing'] && response['lb_status'] == 'alive'
98
+ { 'status' => 'ok', 'message' => "Graylog2 server is: #{status_text}" }
89
99
  else
90
- { 'status' => 'critical', 'message' => 'Graylog2 server is online but not processing' }
100
+ { 'status' => 'critical', 'message' => "Graylog2 server is responding but not healthy: #{status_text}" }
91
101
  end
92
102
  rescue Errno::ECONNREFUSED => e
93
103
  { 'status' => 'critical', 'message' => e.message }
@@ -1,45 +1,9 @@
1
- #!/usr/bin/python
1
+ #!/usr/bin/env python
2
2
 
3
- import urllib2
4
- import json
3
+ import os
5
4
  import sys
6
- import getopt
7
- import socket
8
- import time
9
5
 
10
- def main(argv):
11
- host = socket.getfqdn()
12
- user = "graylog2"
13
- password = "mypass"
14
- port = "12900"
15
- try:
16
- opts, args = getopt.getopt(argv, "h:u:p:P:", ["host=","user=","pass=","port="])
17
- except getopt.GetoptError:
18
- print 'flag error'
19
- sys.exit(2)
20
- for opt, arg in opts:
21
- if opt in ("-h", "--host"):
22
- host = arg
23
- elif opt in ("-u", "--user"):
24
- user = arg
25
- elif opt in ("-p", "--pass"):
26
- password = arg
27
- elif opt in ("-P", "--port"):
28
- port = arg
29
6
 
30
- # do stuff
31
- passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
32
- passman.add_password(None, 'http://'+ host + ':' + port + '/system/metrics', user, password)
33
- authhandler = urllib2.HTTPBasicAuthHandler(passman)
34
- opener = urllib2.build_opener(authhandler)
35
- urllib2.install_opener(opener)
36
-
37
- pagehandle = urllib2.urlopen('http://'+ host + ':' + port + '/system/metrics')
38
- data = json.load(pagehandle)
39
-
40
- print 'graylog.%s.graylog.kafkajournal.uncommittedMessages %d %d\n' % (host, data['gauges']['org.graylog2.shared.journal.KafkaJournal.uncommittedMessages']['value'], int(time.time()))
41
- print 'graylog.%s.graylog.kafkajournal.unflushedMessages %d %d\n' % (host, data['gauges']['org.graylog2.shared.journal.KafkaJournal.unflushedMessages']['value'], int(time.time()))
42
- sys.exit(0)
43
-
44
- if __name__ == "__main__":
45
- main(sys.argv[1:])
7
+ script = os.path.splitext(os.path.abspath( __file__ ))[0]
8
+ print script
9
+ os.execv(script + '.rb', sys.argv)
@@ -1,6 +1,130 @@
1
- #!/usr/bin/env ruby
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # metrics-graylog.rb
4
+ #
5
+ # DESCRIPTION:
6
+ #
7
+ # OUTPUT:
8
+ # metric data
9
+ #
10
+ # PLATFORMS:
11
+ # Linux
12
+ #
13
+ # DEPENDENCIES:
14
+ # gem: sensu-plugin
15
+ # gem: rest-client
16
+ # gem: json
17
+ #
18
+ # USAGE:
19
+ # metrics-graylog.rb -u user -p passwd
20
+ #
21
+ # NOTES:
22
+ # Without --all, this script returns two metrics, as the original version of
23
+ # this script did:
24
+ #
25
+ # graylog metric metric name -> sensu metric name
26
+ # org.graylog2.shared.journal.KafkaJournal.uncommittedMessages -> graylog.HOST.graylog.kafkajournal.uncommittedMessages
27
+ # org.graylog2.shared.journal.KafkaJournal.unflushedMessages -> graylog.HOST.graylog.kafkajournal.unflushedMessages
28
+ #
29
+ # LICENSE:
30
+ # nathan hruby <nhruby@gmail.com
31
+ # SugarCRM
32
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
33
+ # for details.
34
+ #
2
35
 
3
- bin_dir = File.expand_path(File.dirname(__FILE__))
4
- shell_script_path = File.join(bin_dir, File.basename($PROGRAM_NAME, '.rb') + '.py')
36
+ require 'sensu-plugin/metric/cli'
37
+ require 'json'
38
+ require 'rest-client'
5
39
 
6
- exec shell_script_path, *ARGV
40
+ class MetricsGraylog < Sensu::Plugin::Metric::CLI::Graphite
41
+ option :host,
42
+ description: 'Graylog host',
43
+ short: '-h',
44
+ long: '--host HOST',
45
+ default: 'localhost'
46
+
47
+ option :username,
48
+ description: 'Graylog username',
49
+ short: '-u',
50
+ long: '--username USERNAME',
51
+ default: 'admin',
52
+ required: true
53
+
54
+ option :password,
55
+ description: 'Graylog password',
56
+ short: '-p',
57
+ long: '--password PASSWORD',
58
+ required: true
59
+
60
+ option :port,
61
+ description: 'Graylog API port',
62
+ short: '-P',
63
+ long: '--port PORT',
64
+ default: '12900'
65
+
66
+ option :apipath,
67
+ description: 'Graylog API path prefix',
68
+ short: '-a',
69
+ long: '--apipath /api',
70
+ default: ''
71
+
72
+ option :scheme,
73
+ description: 'All metric naming scheme',
74
+ long: '--scheme SCHEME',
75
+ short: '-s SCHEME',
76
+ default: "#{Socket.gethostname}.graylog"
77
+
78
+ option :all,
79
+ description: 'Get all metrics',
80
+ long: '--all',
81
+ boolean: true,
82
+ default: false
83
+
84
+ def run
85
+ if config[:all]
86
+ all_output
87
+ else
88
+ original_output
89
+ end
90
+ ok
91
+ rescue => e
92
+ unknown e.message
93
+ end
94
+
95
+ def acquire_stats
96
+ resource = RestClient::Resource.new "http://#{config[:host]}:#{config[:port]}#{config[:apipath]}/system/metrics", config[:username], config[:password]
97
+ JSON.parse(resource.get)
98
+ rescue Errno::ECONNREFUSED => e
99
+ critical e.message
100
+ end
101
+
102
+ # XXX: only doing counters and guages since they map nicely to line data
103
+ # format. Skipping meters, histograms, and timers till I can figure out
104
+ # sensible representation. I don't want to throw bad data in and then have
105
+ # to maintain it forever.
106
+ def all_output
107
+ data = acquire_stats
108
+ timestamp = Time.now.to_i
109
+ # sample line
110
+ # some-hostname-here.graylog.gauges.org.graylog2.shared.journal.KafkaJournal.writtenMessages 123 1489185301
111
+ %w( gauges counters ).each do |type|
112
+ data[type].each do |k, v|
113
+ # XXX: nrh: this is a random array but I have no idea what it supposed to
114
+ # contain
115
+ next if k == 'jvm.threads.deadlocks'
116
+ output format('%s %2f %d', "#{config[:scheme]}.#{type}.#{k}", v['value'].to_f, timestamp)
117
+ end
118
+ end
119
+ end
120
+
121
+ def original_output
122
+ data = acquire_stats
123
+ timestamp = Time.now.to_i
124
+ host = Socket.gethostname
125
+ uncommitted_messages = data['gauges']['org.graylog2.shared.journal.KafkaJournal.uncommittedMessages']['value']
126
+ unflushed_messages = data['gauges']['org.graylog2.shared.journal.KafkaJournal.unflushedMessages']['value']
127
+ output format('graylog.%s.graylog.kafkajournal.uncommittedMessages %d %d', host, uncommitted_messages, timestamp)
128
+ output format('graylog.%s.graylog.kafkajournal.unflushedMessages %d %d', host, unflushed_messages, timestamp)
129
+ end
130
+ end
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsGraylog
2
2
  module Version
3
- MAJOR = 0
4
- MINOR = 1
3
+ MAJOR = 1
4
+ MINOR = 0
5
5
  PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-graylog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-26 00:00:00.000000000 Z
11
+ date: 2017-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.0
19
+ version: '1.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.0
26
+ version: '1.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rest-client
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,130 +42,144 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.7'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: codeclimate-test-reporter
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.4'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: github-markup
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.3'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.3'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.10'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.10'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.37'
103
+ version: 0.40.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.37'
110
+ version: 0.40.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '3.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '3.1'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '10.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '10.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: redcarpet
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '3.2'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '3.2'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: yard
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0.8'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ~>
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0.8'
167
+ - !ruby/object:Gem::Dependency
168
+ name: webmock
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.3'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2.3'
167
181
  description: Sensu graylog plugins
168
- email: <sensu-users@googlegroups.com>
182
+ email: "<sensu-users@googlegroups.com>"
169
183
  executables:
170
184
  - check-graylog-buffers.rb
171
185
  - check-graylog2-alive.rb
@@ -199,12 +213,12 @@ require_paths:
199
213
  - lib
200
214
  required_ruby_version: !ruby/object:Gem::Requirement
201
215
  requirements:
202
- - - ! '>='
216
+ - - ">="
203
217
  - !ruby/object:Gem::Version
204
- version: 1.9.3
218
+ version: 2.0.0
205
219
  required_rubygems_version: !ruby/object:Gem::Requirement
206
220
  requirements:
207
- - - ! '>='
221
+ - - ">="
208
222
  - !ruby/object:Gem::Version
209
223
  version: '0'
210
224
  requirements: []