sensu-plugins-postfix 0.0.4 → 0.1.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,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