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 +13 -5
- data/CHANGELOG.md +18 -8
- data/README.md +3 -3
- data/bin/check-mail-delay.rb +173 -0
- data/bin/check-mailq.rb +85 -19
- data/bin/metrics-mailq.rb +7 -7
- data/lib/sensu-plugins-postfix/version.rb +2 -2
- metadata +93 -55
- checksums.yaml.gz.sig +0 -1
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
OWY2NjU2ZjRjMTg3NTliNTliMDA0OTUwOTVmZWNkOTQ1ODk2YWU4YQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YzBkYzgwZTZlYzM0Zjg5OTNjYzMxNzcxYTc4OTJkZTk3OTcwMjA4NQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
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]
|
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
|
-
|
17
|
-
|
18
|
-
-
|
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
|
-
[
|
3
|
+
[](https://travis-ci.org/sensu-plugins/sensu-plugins-postfix)
|
4
4
|
[](http://badge.fury.io/rb/sensu-plugins-postfix)
|
5
5
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix)
|
6
6
|
[](https://codeclimate.com/github/sensu-plugins/sensu-plugins-postfix)
|
7
7
|
[](https://gemnasium.com/sensu-plugins/sensu-plugins-postfix)
|
8
|
-
[](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](
|
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
|
-
#
|
4
|
-
# ===
|
3
|
+
# check-mailq
|
5
4
|
#
|
6
|
-
#
|
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
|
-
|
34
|
-
#
|
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
|
67
|
+
critical msg
|
47
68
|
elsif num_messages >= config[:warning].to_i
|
48
|
-
warning
|
69
|
+
warning msg
|
49
70
|
else
|
50
|
-
ok
|
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
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
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
|
49
|
+
output graphite_name.to_s, num_messages, timestamp
|
50
50
|
ok
|
51
51
|
end
|
52
52
|
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
|
+
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
|
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
|
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.
|
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.
|
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
|
-
|
176
|
-
|
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.
|
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
|