sensu-plugins-postfix 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1368db30a035cfb3188f06bcf9bb578c0d290afc
4
- data.tar.gz: e134e80d8eed5f5e4aa4f9739d87668df2c0c788
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWY2NjU2ZjRjMTg3NTliNTliMDA0OTUwOTVmZWNkOTQ1ODk2YWU4YQ==
5
+ data.tar.gz: !binary |-
6
+ YzBkYzgwZTZlYzM0Zjg5OTNjYzMxNzcxYTc4OTJkZTk3OTcwMjA4NQ==
5
7
  SHA512:
6
- metadata.gz: bf4642dba907d5e3b8b7ae4ae4b64c63e9f557e5c73c31564774a0f2a7620d3101b0f41f2a162f06c38457f80f2e20616305a8f1c97482ba7903a1c39076707e
7
- data.tar.gz: c227aedc63ae19bca091c0c79788c86dd50f33ca5d27109553855124ea6ffb344b2de7b047c81e120bf09add510a74234fef3ce51e30a64d32e12e172b6933e7
8
+ metadata.gz: !binary |-
9
+ NGFlMWVkOTRjN2Y0ZWQ4NTYwNTkzZjhiM2FiYTkyY2U5MmI5NzYxMDQ5Y2Iy
10
+ M2UzOGNhZDAyYmY2NmVjYjEwZjQyYjMxZTA2NDY0OWU4MmU2YzIzODdmYjkz
11
+ OGZjN2M2MGFjZTQwNjZmODBmZjQ3ZDY1ZmE3ZjVjNWVhZmRmN2I=
12
+ data.tar.gz: !binary |-
13
+ NWY1ZjlhNWRiNTAxM2ZjNDM3ZDViZWI3MDMzMDVlZDUwNWM0ZWRmMDllMWQz
14
+ N2U3NmViZTA5YzAzNzI3OWY5ZThlNmMyNjFlZjRlNDk2YTRiMWU2NDNmMWFm
15
+ NTkyNjJlZGYzODQ5MWMzNzdmZjU0ZmViZTBhMjQwZTkzZWY2ZTE=
data/CHANGELOG.md CHANGED
@@ -3,20 +3,30 @@ 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
- ## Unreleased][unreleased]
6
+ ## [Unreleased]
7
+
8
+ ## [0.1.0] - 2016-01-29
9
+ ### Added
10
+ - Add support to `check-mailq` for inspecting each Postfix queue individually
11
+ - Add a `check-mail-delay` script to support alerting by age of queue items
12
+
13
+ ### Fixed
14
+ - metrics-mailq.rb: don't output stderr when the mail queue is empty
7
15
 
8
16
  ## [0.0.3] - 2015-07-14
9
17
  ### Changed
18
+ - executable tag in gemspec
10
19
  - updated sensu-plugin gem to 1.2.0
11
20
 
21
+ ## [0.0.2] - 2015-05-30
22
+ ### Fixed
23
+ - executable tag in gemspec
24
+
12
25
  ## 0.0.1 - 2015-04-30
13
26
  ### Added
14
27
  - initial release
15
28
 
16
- ## 0.0.2 - 2015-05-30
17
- ### Fixed
18
- - executable tag in gemspec
19
-
20
- ## 0.0.3 - 2015-06-04
21
- ### Fixed
22
- - executable tag in gemspec
29
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.1.0...HEAD
30
+ [0.1.0]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.3...0.1.0
31
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.2...0.0.3
32
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -1,22 +1,22 @@
1
1
  ## Sensu-Plugins-postfix
2
2
 
3
- [ ![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-postfix.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-postfix)
3
+ [![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-postfix.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-postfix)
4
4
  [![Gem Version](https://badge.fury.io/rb/sensu-plugins-postfix.svg)](http://badge.fury.io/rb/sensu-plugins-postfix)
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-postfix.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-postfix)
8
- [![Codeship Status for sensu-plugins/sensu-plugins-postfix](https://codeship.com/projects/e597c620-e89b-0132-4dfc-62885e5c211b/status?branch=master)](https://codeship.com/projects/82844)
9
8
 
10
9
  ## Functionality
11
10
 
12
11
  ## Files
13
12
  * bin/check-mailq.rb
13
+ * bin/check-mail-delay.rb
14
14
  * bin/metrics-mailq.rb
15
15
 
16
16
  ## Usage
17
17
 
18
18
  ## Installation
19
19
 
20
- [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
20
+ [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
21
21
 
22
22
  ## Notes
@@ -0,0 +1,173 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # check-mail-delay
4
+ #
5
+ # DESCRIPTION:
6
+ # Check for mail delays in the Postfix mail queue
7
+ #
8
+ # OUTPUT:
9
+ # Plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux; any platform with Postfix, egrep, and awk
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ #
17
+ # USAGE:
18
+ # ./check-mail-delay.rb [-p path_to_mailq] [-q queue] [-d delay] -w warn -c crit
19
+ # ./check-mail-delay.rb -w 100 -c 200
20
+ # ./check-mail-delay.rb -q hold -w 50 -c 100
21
+ # ./check-mail-delay.rb -q deferred -d 7200 -w 10 -c 20
22
+ # ./check-mail-delay.rb -p /usr/local/bin/mailq -q active -d 300 -w 100 -c 200
23
+ #
24
+ # NOTES:
25
+ # This is split out into its own check because, unlike `check-mailq`, it
26
+ # requires storing details about every message in the queue in memory, which
27
+ # may not be desirable on heavily-trafficked systems.
28
+ #
29
+ # LICENSE:
30
+ # Jonathan Hartman <j@hartman.io>
31
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
32
+ # for details.
33
+ #
34
+
35
+ require 'date'
36
+ require 'sensu-plugin/check/cli'
37
+
38
+ class PostfixMailDelay < Sensu::Plugin::Check::CLI
39
+ option :path,
40
+ short: '-p MAILQ_PATH',
41
+ long: '--path MAILQ_PATH',
42
+ description: 'Path to the postfix mailq binary. Defaults to /usr/bin/mailq',
43
+ default: '/usr/bin/mailq'
44
+
45
+ option :queue,
46
+ short: '-q QUEUE_NAME',
47
+ long: '--queue QUEUE_NAME',
48
+ description: 'The queue to check (active, deferred, hold, ' \
49
+ "incoming, or all). Defaults to 'all'",
50
+ default: 'all'
51
+
52
+ option :delay,
53
+ short: '-d DELAY_IN_SECONDS',
54
+ long: '--delay DELAY_IN_SECONDS',
55
+ description: 'Age in seconds of messages to look for',
56
+ default: 3600
57
+
58
+ option :warning,
59
+ short: '-w WARN_NUM',
60
+ long: '--warnnum WARN_NUM',
61
+ description: 'Number of delayed messages considered a worth a warning',
62
+ required: true
63
+
64
+ option :critical,
65
+ short: '-c CRIT_NUM',
66
+ long: '--critnum CRIT_NUM',
67
+ description: 'Number of delayed messages considered to be critical',
68
+ required: true
69
+
70
+ def run
71
+ count = 0
72
+ timestamps = send("queue_data_#{config[:queue]}")
73
+ timestamps.each do |t|
74
+ count += 1 if check_age_of(t) > config[:delay].to_i
75
+ end
76
+
77
+ msg = "#{count} messages in the postfix " \
78
+ "#{config[:queue] == 'all' ? 'mail' : config[:queue]} queue older " \
79
+ "than #{config[:delay]} seconds"
80
+
81
+ if count >= config[:critical].to_i
82
+ critical msg
83
+ elsif count >= config[:warning].to_i
84
+ warning msg
85
+ else
86
+ ok msg
87
+ end
88
+ end
89
+
90
+ #
91
+ # Parse a timestamp from the output of `mailq` and return that message's
92
+ # age in seconds. The `mailq` command does not insert years in its output,
93
+ # so we're going to make the (hopefully valid) assumption that there won't
94
+ # be any queue items older than a year and just subtract one year if a queue
95
+ # item appears to be from the future.
96
+ #
97
+ def check_age_of(timestamp)
98
+ d = DateTime.parse("#{timestamp} #{DateTime.now.zone}")
99
+ now = DateTime.now
100
+ d = d.prev_year if d > now
101
+ (now.to_time - d.to_time).to_i
102
+ end
103
+
104
+ #
105
+ # Return an array of timestamps for every message in the queue.
106
+ #
107
+ # `mailq` will either end with a summary line (-- 11 Kbytes in 31 Requests.)
108
+ # or 'Mail queue is empty'. Using grep rather than returning the entire
109
+ # list since that could consume a significant amount of memory.
110
+ #
111
+ def queue_data_all
112
+ queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+' | awk '{print $3, $4, $5, $6}'`
113
+ queue.split("\n")
114
+ end
115
+
116
+ #
117
+ # Return an array of timestamps for messages in the active queue.
118
+ #
119
+ # Items in the active queue appear with a '*' next to the QID in `mailq`
120
+ #
121
+ def queue_data_active
122
+ queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+\\*' | awk '{print $3, $4, $5, $6}'`
123
+ queue.split("\n")
124
+ end
125
+
126
+ #
127
+ # Return an array of timestamps for messages in the deferred queue.
128
+ #
129
+ # Items in the deferred queue do not have a special indicator in `mailq`,
130
+ # but are followed by lines with deferral reasons in ()s.
131
+ #
132
+ def queue_data_deferred
133
+ output = `#{config[:path]} | /bin/egrep -A 1 '^[0-9A-F]+ +'`.split("\n--\n")
134
+ queue = []
135
+ output.each do |o|
136
+ if o.lines[1].strip =~ /^\(.*\)$/
137
+ fields = o.lines[0].split
138
+ queue << "#{fields[2]} #{fields[3]} #{fields[4]} #{fields[5]}"
139
+ end
140
+ end
141
+ queue
142
+ end
143
+
144
+ #
145
+ # Return an array of timestamps for messages in the hold queue.
146
+ #
147
+ # Items in the hold queue appear with a '!' next to the QID in `mailq`.
148
+ #
149
+ def queue_data_hold
150
+ queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+!' | awk '{print $3, $4, $5, $6}'`
151
+ queue.split("\n")
152
+ end
153
+
154
+ #
155
+ # Return an array of timestamps for messages in the incoming queue.
156
+ #
157
+ # Items in the incoming queue have no special character indicating as much in
158
+ # `mailq`. Inspecting `/var/spool/postfix` directly requires root or postfix
159
+ # user permissions, so we have to get a little tricky here and find any queue
160
+ # item with no special character and that's not followed by a deferal line.
161
+ #
162
+ def queue_data_incoming
163
+ output = `#{config[:path]} | /bin/egrep -A 1 '^[0-9A-F]+ +'`.split("\n--\n")
164
+ queue = []
165
+ output.each do |o|
166
+ unless o.lines[1].strip =~ /^\(.*\)$/
167
+ fields = o.lines[0].split
168
+ queue << "#{fields[2]} #{fields[3]} #{fields[4]} #{fields[5]}"
169
+ end
170
+ end
171
+ queue
172
+ end
173
+ end
data/bin/check-mailq.rb CHANGED
@@ -1,12 +1,35 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Check the size of the postfix mail queue
4
- # ===
3
+ # check-mailq
5
4
  #
6
- # Copyright (c) 2013, Justin Lambert <jlambert@letsevenup.com>
5
+ # DESCRIPTION:
6
+ # Check the size of the Postfix mail queue
7
+ #
8
+ # OUTPUT:
9
+ # Plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux; any platform with Postfix and egrep
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ #
17
+ # USAGE:
18
+ # ./check-mailq.rb [-p path_to_mailq] [-q queue] -w warn -c crit
19
+ # ./check-mailq.rb -w 200 -c 400
20
+ # ./check-mailq.rb -q deferred -w 100 -c 200
21
+ # ./check-mailq.rb -p /usr/local/bin/mailq -q active -w 50 -c 100
22
+ #
23
+ # NOTES:
24
+ # This is split out into its own check because, unlike `check-mailq`, it
25
+ # requires storing details about every message in the queue in memory, which
26
+ # may not be desirable on heavily-trafficked systems.
27
+ #
28
+ # LICENSE:
29
+ # Justin Lambert <jlambert@letsevenup.com>
30
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
31
+ # for details.
7
32
  #
8
- # Released under the same terms as Sensu (the MIT license); see LICENSE
9
- # for details.
10
33
 
11
34
  require 'sensu-plugin/check/cli'
12
35
 
@@ -17,6 +40,13 @@ class PostfixMailq < Sensu::Plugin::Check::CLI
17
40
  description: 'Path to the postfix mailq binary. Defaults to /usr/bin/mailq',
18
41
  default: '/usr/bin/mailq'
19
42
 
43
+ option :queue,
44
+ short: '-q QUEUE_NAME',
45
+ long: '--queue QUEUE_NAME',
46
+ description: 'The queue to check (active, deferred, hold, ' \
47
+ "incoming, or all). Defaults to 'all'",
48
+ default: 'all'
49
+
20
50
  option :warning,
21
51
  short: '-w WARN_NUM',
22
52
  long: '--warnnum WARN_NUM',
@@ -30,24 +60,60 @@ class PostfixMailq < Sensu::Plugin::Check::CLI
30
60
  required: true
31
61
 
32
62
  def run
33
- # mailq will either end with a summary line (-- 11 Kbytes in 31 Requests.)
34
- # or 'Mail queue is empty'. Using grep rather than returning the entire
35
- # list since that could consume a significant amount of memory.
36
- queue = `#{config[:path]} | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
37
-
38
- # Set the number of messages in the queue
39
- if queue == 'Mail queue is empty'
40
- num_messages = 0
41
- else
42
- num_messages = queue.split(' ')[4].to_i
43
- end
63
+ num_messages = send("check_queue_size_#{config[:queue]}")
64
+ msg = "#{num_messages} messages in the postfix #{config[:queue] == 'all' ? 'mail' : config[:queue]} queue"
44
65
 
45
66
  if num_messages >= config[:critical].to_i
46
- critical "#{num_messages} messages in the postfix mail queue"
67
+ critical msg
47
68
  elsif num_messages >= config[:warning].to_i
48
- warning "#{num_messages} messages in the postfix mail queue"
69
+ warning msg
49
70
  else
50
- ok "#{num_messages} messages in the postfix mail queue"
71
+ ok msg
51
72
  end
52
73
  end
74
+
75
+ #
76
+ # Return the number of messages in all the queues.
77
+ #
78
+ # `mailq` will either end with a summary line (-- 11 Kbytes in 31 Requests.)
79
+ # or 'Mail queue is empty'. Using grep rather than returning the entire
80
+ # list since that could consume a significant amount of memory.
81
+ #
82
+ def check_queue_size_all
83
+ queue = `#{config[:path]} | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
84
+ queue == 'Mail queue is empty' ? 0 : queue.split(' ')[4].to_i
85
+ end
86
+
87
+ #
88
+ # Items in the active queue appear with a '*' next to the QID in `mailq`
89
+ #
90
+ def check_queue_size_active
91
+ `#{config[:path]} | /bin/egrep -c '^[0-9A-F]+\\*'`.to_i
92
+ end
93
+
94
+ #
95
+ # Items in the deferred queue do not have a special indicator in `mailq`,
96
+ # but are followed by lines with deferral reasons in ()s.
97
+ #
98
+ def check_queue_size_deferred
99
+ `#{config[:path]} | /bin/grep -c '^ *(.*)$'`.to_i
100
+ end
101
+
102
+ #
103
+ # Items in the hold queue appear with a '!' next to the QID in `mailq`.
104
+ #
105
+ def check_queue_size_hold
106
+ `#{config[:path]} | /bin/egrep -c '^[0-9A-F]+!'`.to_i
107
+ end
108
+
109
+ #
110
+ # Items in the incoming queue have no special character indicating as much in
111
+ # `mailq`. Inspecting `/var/spool/postfix` directly requires root or postfix
112
+ # user permissions, so let's try to be crafty and subtract the number of
113
+ # deferred messages from the total number of messages with no special
114
+ # character appended to their QID.
115
+ #
116
+ def check_queue_size_incoming
117
+ `#{config[:path]} | /bin/egrep -c '^[0-9A-F]+ +'`.to_i - check_queue_size_deferred
118
+ end
53
119
  end
data/bin/metrics-mailq.rb CHANGED
@@ -38,15 +38,15 @@ class PostfixMailqMetrics < Sensu::Plugin::Metric::CLI::Graphite
38
38
 
39
39
  def run
40
40
  timestamp = Time.now.to_i
41
- queue = `#{config[:path]} | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
41
+ queue = `#{config[:path]} 2>&1 | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
42
42
  # Set the number of messages in the queue
43
- if queue == 'Mail queue is empty'
44
- num_messages = 0
45
- else
46
- num_messages = queue.split(' ')[4].to_i
47
- end
43
+ num_messages = if queue == 'Mail queue is empty'
44
+ 0
45
+ else
46
+ queue.split(' ')[4].to_i
47
+ end
48
48
  graphite_name = config[:scheme] + '.postfixMailqCount'
49
- output "#{graphite_name}", num_messages, timestamp
49
+ output graphite_name.to_s, num_messages, timestamp
50
50
  ok
51
51
  end
52
52
  end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsPostfix
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 0
5
- PATCH = 4
4
+ MINOR = 1
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,188 +1,226 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-postfix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
14
- am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
15
- A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
16
- CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
18
- CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
19
- zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
20
- qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
21
- k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
22
- oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
23
- 0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
24
- HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
25
- QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
26
- MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
27
- rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
28
- UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
29
- JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
30
- 8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
- HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
- -----END CERTIFICATE-----
33
- date: 2015-07-14 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-03-04 00:00:00.000000000 Z
34
12
  dependencies:
35
13
  - !ruby/object:Gem::Dependency
36
14
  name: sensu-plugin
37
15
  requirement: !ruby/object:Gem::Requirement
38
16
  requirements:
39
- - - '='
17
+ - - ~>
40
18
  - !ruby/object:Gem::Version
41
- version: 1.2.0
19
+ version: '1.2'
42
20
  type: :runtime
43
21
  prerelease: false
44
22
  version_requirements: !ruby/object:Gem::Requirement
45
23
  requirements:
46
- - - '='
24
+ - - ~>
47
25
  - !ruby/object:Gem::Version
48
- version: 1.2.0
26
+ version: '1.2'
49
27
  - !ruby/object:Gem::Dependency
50
28
  name: bundler
51
29
  requirement: !ruby/object:Gem::Requirement
52
30
  requirements:
53
- - - "~>"
31
+ - - ~>
54
32
  - !ruby/object:Gem::Version
55
33
  version: '1.7'
56
34
  type: :development
57
35
  prerelease: false
58
36
  version_requirements: !ruby/object:Gem::Requirement
59
37
  requirements:
60
- - - "~>"
38
+ - - ~>
61
39
  - !ruby/object:Gem::Version
62
40
  version: '1.7'
63
41
  - !ruby/object:Gem::Dependency
64
42
  name: codeclimate-test-reporter
65
43
  requirement: !ruby/object:Gem::Requirement
66
44
  requirements:
67
- - - "~>"
45
+ - - ~>
68
46
  - !ruby/object:Gem::Version
69
47
  version: '0.4'
70
48
  type: :development
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
51
  requirements:
74
- - - "~>"
52
+ - - ~>
75
53
  - !ruby/object:Gem::Version
76
54
  version: '0.4'
77
55
  - !ruby/object:Gem::Dependency
78
56
  name: github-markup
79
57
  requirement: !ruby/object:Gem::Requirement
80
58
  requirements:
81
- - - "~>"
59
+ - - ~>
82
60
  - !ruby/object:Gem::Version
83
61
  version: '1.3'
84
62
  type: :development
85
63
  prerelease: false
86
64
  version_requirements: !ruby/object:Gem::Requirement
87
65
  requirements:
88
- - - "~>"
66
+ - - ~>
89
67
  - !ruby/object:Gem::Version
90
68
  version: '1.3'
91
69
  - !ruby/object:Gem::Dependency
92
70
  name: pry
93
71
  requirement: !ruby/object:Gem::Requirement
94
72
  requirements:
95
- - - "~>"
73
+ - - ~>
96
74
  - !ruby/object:Gem::Version
97
75
  version: '0.10'
98
76
  type: :development
99
77
  prerelease: false
100
78
  version_requirements: !ruby/object:Gem::Requirement
101
79
  requirements:
102
- - - "~>"
80
+ - - ~>
103
81
  - !ruby/object:Gem::Version
104
82
  version: '0.10'
105
83
  - !ruby/object:Gem::Dependency
106
84
  name: rake
107
85
  requirement: !ruby/object:Gem::Requirement
108
86
  requirements:
109
- - - "~>"
87
+ - - ~>
110
88
  - !ruby/object:Gem::Version
111
89
  version: '10.0'
112
90
  type: :development
113
91
  prerelease: false
114
92
  version_requirements: !ruby/object:Gem::Requirement
115
93
  requirements:
116
- - - "~>"
94
+ - - ~>
117
95
  - !ruby/object:Gem::Version
118
96
  version: '10.0'
119
97
  - !ruby/object:Gem::Dependency
120
98
  name: redcarpet
121
99
  requirement: !ruby/object:Gem::Requirement
122
100
  requirements:
123
- - - "~>"
101
+ - - ~>
124
102
  - !ruby/object:Gem::Version
125
103
  version: '3.2'
126
104
  type: :development
127
105
  prerelease: false
128
106
  version_requirements: !ruby/object:Gem::Requirement
129
107
  requirements:
130
- - - "~>"
108
+ - - ~>
131
109
  - !ruby/object:Gem::Version
132
110
  version: '3.2'
133
111
  - !ruby/object:Gem::Dependency
134
112
  name: rspec
135
113
  requirement: !ruby/object:Gem::Requirement
136
114
  requirements:
137
- - - "~>"
115
+ - - ~>
138
116
  - !ruby/object:Gem::Version
139
117
  version: '3.1'
140
118
  type: :development
141
119
  prerelease: false
142
120
  version_requirements: !ruby/object:Gem::Requirement
143
121
  requirements:
144
- - - "~>"
122
+ - - ~>
145
123
  - !ruby/object:Gem::Version
146
124
  version: '3.1'
147
125
  - !ruby/object:Gem::Dependency
148
126
  name: rubocop
149
127
  requirement: !ruby/object:Gem::Requirement
150
128
  requirements:
151
- - - '='
129
+ - - ~>
152
130
  - !ruby/object:Gem::Version
153
- version: '0.30'
131
+ version: '0.37'
154
132
  type: :development
155
133
  prerelease: false
156
134
  version_requirements: !ruby/object:Gem::Requirement
157
135
  requirements:
158
- - - '='
136
+ - - ~>
159
137
  - !ruby/object:Gem::Version
160
- version: '0.30'
138
+ version: '0.37'
161
139
  - !ruby/object:Gem::Dependency
162
140
  name: yard
163
141
  requirement: !ruby/object:Gem::Requirement
164
142
  requirements:
165
- - - "~>"
143
+ - - ~>
166
144
  - !ruby/object:Gem::Version
167
145
  version: '0.8'
168
146
  type: :development
169
147
  prerelease: false
170
148
  version_requirements: !ruby/object:Gem::Requirement
171
149
  requirements:
172
- - - "~>"
150
+ - - ~>
173
151
  - !ruby/object:Gem::Version
174
152
  version: '0.8'
175
- description: Sensu plugins for postfix
176
- email: "<sensu-users@googlegroups.com>"
153
+ - !ruby/object:Gem::Dependency
154
+ name: test-kitchen
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '1.5'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ~>
165
+ - !ruby/object:Gem::Version
166
+ version: '1.5'
167
+ - !ruby/object:Gem::Dependency
168
+ name: net-ssh
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '2.9'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ~>
179
+ - !ruby/object:Gem::Version
180
+ version: '2.9'
181
+ - !ruby/object:Gem::Dependency
182
+ name: kitchen-vagrant
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ version: 0.19.0
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ~>
193
+ - !ruby/object:Gem::Version
194
+ version: 0.19.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: kitchen-localhost
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ~>
200
+ - !ruby/object:Gem::Version
201
+ version: '0.3'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ~>
207
+ - !ruby/object:Gem::Version
208
+ version: '0.3'
209
+ description: ! "This plugin provides native Postfix instrumentation\n for
210
+ monitoring and metrics collection of the mail\n queue
211
+ via `mailq`"
212
+ email: <sensu-users@googlegroups.com>
177
213
  executables:
178
- - metrics-mailq.rb
179
214
  - check-mailq.rb
215
+ - metrics-mailq.rb
216
+ - check-mail-delay.rb
180
217
  extensions: []
181
218
  extra_rdoc_files: []
182
219
  files:
183
220
  - CHANGELOG.md
184
221
  - LICENSE
185
222
  - README.md
223
+ - bin/check-mail-delay.rb
186
224
  - bin/check-mailq.rb
187
225
  - bin/metrics-mailq.rb
188
226
  - lib/sensu-plugins-postfix.rb
@@ -203,17 +241,17 @@ require_paths:
203
241
  - lib
204
242
  required_ruby_version: !ruby/object:Gem::Requirement
205
243
  requirements:
206
- - - ">="
244
+ - - ! '>='
207
245
  - !ruby/object:Gem::Version
208
246
  version: 1.9.3
209
247
  required_rubygems_version: !ruby/object:Gem::Requirement
210
248
  requirements:
211
- - - ">="
249
+ - - ! '>='
212
250
  - !ruby/object:Gem::Version
213
251
  version: '0'
214
252
  requirements: []
215
253
  rubyforge_project:
216
- rubygems_version: 2.4.6
254
+ rubygems_version: 2.4.3
217
255
  signing_key:
218
256
  specification_version: 4
219
257
  summary: Sensu plugins for postfix
checksums.yaml.gz.sig DELETED
@@ -1 +0,0 @@
1
- U9N�۪ڿ�#�#���1�—}�+42F[c� �[qM�к<���g��
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file