sensu-plugins-postfix 0.0.2 → 2.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 +5 -5
- data/CHANGELOG.md +49 -3
- data/README.md +2 -2
- data/bin/check-mail-delay.rb +174 -0
- data/bin/check-mailq.rb +86 -19
- data/bin/metrics-mailq.rb +9 -8
- data/lib/sensu-plugins-postfix.rb +2 -0
- data/lib/sensu-plugins-postfix/version.rb +4 -2
- metadata +84 -58
- checksums.yaml.gz.sig +0 -3
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0a8d27ce3bf67f47c0df7def5e47ab42934eac724aaab98080a155473b6afbcf
|
4
|
+
data.tar.gz: 5059c5f6ae331b27a5ad2a3680d539279f7678dabd3ebf800e9c2d2c20fcd09d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a07f629db60a1fb9d5d5f43e0fc88247ada5c5dba85955c847dcedd6f08b85f15871aea52bf7961e11822453975ccb89fceb68ba7109a29c7ee16de84c821cf8
|
7
|
+
data.tar.gz: df530861ebbb506cd9230f1258711748fad4bb32fe953f010b705429fc46cb256b15c754c092a3b18008ff8dbc146668e9f8a77ec5bfecb6bef36a6782ed2d7f
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,57 @@
|
|
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
|
-
## Unreleased]
|
6
|
+
## [Unreleased]
|
7
7
|
|
8
|
-
## 0.0
|
8
|
+
## [2.0.0] - 2020-08-24
|
9
|
+
### Breaking Changes
|
10
|
+
- Remove support for old Ruby (< 2.3)
|
11
|
+
- Remove kitchen test reliant on Sensu Core
|
12
|
+
- Bump sensu-plugin dependency from ~> 1.2 to ~> 4.0
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
- Updated bundler dependancy to '~> 2.1'
|
16
|
+
- Updated rubocop dependency to '~> 0.81.0'
|
17
|
+
- Remediated rubocop issues
|
18
|
+
- Updated codeclimate-test-reporter to '~> 1.0'
|
19
|
+
- Updated rake dependency to '~> 13.0'
|
20
|
+
|
21
|
+
## [1.0.0] - 2017-07-26
|
22
|
+
### Breaking Change
|
23
|
+
- Remove support for Ruby 1.9.3 (@eheydrick)
|
9
24
|
|
25
|
+
### Added
|
26
|
+
- Testing on Ruby 2.4.1 (@Evesy)
|
27
|
+
|
28
|
+
### Fixed
|
29
|
+
- Fix the integration tests (@RoboticCheese)
|
30
|
+
|
31
|
+
## [0.1.0] - 2016-01-29
|
32
|
+
### Added
|
33
|
+
- Add support to `check-mailq` for inspecting each Postfix queue individually
|
34
|
+
- Add a `check-mail-delay` script to support alerting by age of queue items
|
35
|
+
|
36
|
+
### Fixed
|
37
|
+
- metrics-mailq.rb: don't output stderr when the mail queue is empty
|
38
|
+
|
39
|
+
## [0.0.3] - 2015-07-14
|
40
|
+
### Changed
|
41
|
+
- executable tag in gemspec
|
42
|
+
- updated sensu-plugin gem to 1.2.0
|
43
|
+
|
44
|
+
## [0.0.2] - 2015-05-30
|
45
|
+
### Fixed
|
46
|
+
- executable tag in gemspec
|
47
|
+
|
48
|
+
## 0.0.1 - 2015-04-30
|
10
49
|
### Added
|
11
50
|
- initial release
|
51
|
+
|
52
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/2.0.0...HEAD
|
53
|
+
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/1.0.0...2.0.0
|
54
|
+
[1.0.0]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.1.0...1.0.0
|
55
|
+
[0.1.0]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.3...0.1.0
|
56
|
+
[0.0.3]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.2...0.0.3
|
57
|
+
[0.0.2]: https://github.com/sensu-plugins/sensu-plugins-postfix/compare/0.0.1...0.0.2
|
data/README.md
CHANGED
@@ -5,18 +5,18 @@
|
|
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,174 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
4
|
+
# check-mail-delay
|
5
|
+
#
|
6
|
+
# DESCRIPTION:
|
7
|
+
# Check for mail delays in the Postfix mail queue
|
8
|
+
#
|
9
|
+
# OUTPUT:
|
10
|
+
# Plain text
|
11
|
+
#
|
12
|
+
# PLATFORMS:
|
13
|
+
# Linux; any platform with Postfix, egrep, and awk
|
14
|
+
#
|
15
|
+
# DEPENDENCIES:
|
16
|
+
# gem: sensu-plugin
|
17
|
+
#
|
18
|
+
# USAGE:
|
19
|
+
# ./check-mail-delay.rb [-p path_to_mailq] [-q queue] [-d delay] -w warn -c crit
|
20
|
+
# ./check-mail-delay.rb -w 100 -c 200
|
21
|
+
# ./check-mail-delay.rb -q hold -w 50 -c 100
|
22
|
+
# ./check-mail-delay.rb -q deferred -d 7200 -w 10 -c 20
|
23
|
+
# ./check-mail-delay.rb -p /usr/local/bin/mailq -q active -d 300 -w 100 -c 200
|
24
|
+
#
|
25
|
+
# NOTES:
|
26
|
+
# This is split out into its own check because, unlike `check-mailq`, it
|
27
|
+
# requires storing details about every message in the queue in memory, which
|
28
|
+
# may not be desirable on heavily-trafficked systems.
|
29
|
+
#
|
30
|
+
# LICENSE:
|
31
|
+
# Jonathan Hartman <j@hartman.io>
|
32
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
33
|
+
# for details.
|
34
|
+
#
|
35
|
+
|
36
|
+
require 'date'
|
37
|
+
require 'sensu-plugin/check/cli'
|
38
|
+
|
39
|
+
class PostfixMailDelay < Sensu::Plugin::Check::CLI
|
40
|
+
option :path,
|
41
|
+
short: '-p MAILQ_PATH',
|
42
|
+
long: '--path MAILQ_PATH',
|
43
|
+
description: 'Path to the postfix mailq binary. Defaults to /usr/bin/mailq',
|
44
|
+
default: '/usr/bin/mailq'
|
45
|
+
|
46
|
+
option :queue,
|
47
|
+
short: '-q QUEUE_NAME',
|
48
|
+
long: '--queue QUEUE_NAME',
|
49
|
+
description: 'The queue to check (active, deferred, hold, ' \
|
50
|
+
"incoming, or all). Defaults to 'all'",
|
51
|
+
default: 'all'
|
52
|
+
|
53
|
+
option :delay,
|
54
|
+
short: '-d DELAY_IN_SECONDS',
|
55
|
+
long: '--delay DELAY_IN_SECONDS',
|
56
|
+
description: 'Age in seconds of messages to look for',
|
57
|
+
default: 3600
|
58
|
+
|
59
|
+
option :warning,
|
60
|
+
short: '-w WARN_NUM',
|
61
|
+
long: '--warnnum WARN_NUM',
|
62
|
+
description: 'Number of delayed messages considered a worth a warning',
|
63
|
+
required: true
|
64
|
+
|
65
|
+
option :critical,
|
66
|
+
short: '-c CRIT_NUM',
|
67
|
+
long: '--critnum CRIT_NUM',
|
68
|
+
description: 'Number of delayed messages considered to be critical',
|
69
|
+
required: true
|
70
|
+
|
71
|
+
def run
|
72
|
+
count = 0
|
73
|
+
timestamps = send("queue_data_#{config[:queue]}")
|
74
|
+
timestamps.each do |t|
|
75
|
+
count += 1 if check_age_of(t) > config[:delay].to_i
|
76
|
+
end
|
77
|
+
|
78
|
+
msg = "#{count} messages in the postfix " \
|
79
|
+
"#{config[:queue] == 'all' ? 'mail' : config[:queue]} queue older " \
|
80
|
+
"than #{config[:delay]} seconds"
|
81
|
+
|
82
|
+
if count >= config[:critical].to_i
|
83
|
+
critical msg
|
84
|
+
elsif count >= config[:warning].to_i
|
85
|
+
warning msg
|
86
|
+
else
|
87
|
+
ok msg
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
#
|
92
|
+
# Parse a timestamp from the output of `mailq` and return that message's
|
93
|
+
# age in seconds. The `mailq` command does not insert years in its output,
|
94
|
+
# so we're going to make the (hopefully valid) assumption that there won't
|
95
|
+
# be any queue items older than a year and just subtract one year if a queue
|
96
|
+
# item appears to be from the future.
|
97
|
+
#
|
98
|
+
def check_age_of(timestamp)
|
99
|
+
d = DateTime.parse("#{timestamp} #{DateTime.now.zone}")
|
100
|
+
now = DateTime.now
|
101
|
+
d = d.prev_year if d > now
|
102
|
+
(now.to_time - d.to_time).to_i
|
103
|
+
end
|
104
|
+
|
105
|
+
#
|
106
|
+
# Return an array of timestamps for every message in the queue.
|
107
|
+
#
|
108
|
+
# `mailq` will either end with a summary line (-- 11 Kbytes in 31 Requests.)
|
109
|
+
# or 'Mail queue is empty'. Using grep rather than returning the entire
|
110
|
+
# list since that could consume a significant amount of memory.
|
111
|
+
#
|
112
|
+
def queue_data_all
|
113
|
+
queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+' | awk '{print $3, $4, $5, $6}'`
|
114
|
+
queue.split("\n")
|
115
|
+
end
|
116
|
+
|
117
|
+
#
|
118
|
+
# Return an array of timestamps for messages in the active queue.
|
119
|
+
#
|
120
|
+
# Items in the active queue appear with a '*' next to the QID in `mailq`
|
121
|
+
#
|
122
|
+
def queue_data_active
|
123
|
+
queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+\\*' | awk '{print $3, $4, $5, $6}'`
|
124
|
+
queue.split("\n")
|
125
|
+
end
|
126
|
+
|
127
|
+
#
|
128
|
+
# Return an array of timestamps for messages in the deferred queue.
|
129
|
+
#
|
130
|
+
# Items in the deferred queue do not have a special indicator in `mailq`,
|
131
|
+
# but are followed by lines with deferral reasons in ()s.
|
132
|
+
#
|
133
|
+
def queue_data_deferred
|
134
|
+
output = `#{config[:path]} | /bin/egrep -A 1 '^[0-9A-F]+ +'`.split("\n--\n")
|
135
|
+
queue = []
|
136
|
+
output.each do |o|
|
137
|
+
if o.lines[1].strip =~ /^\(.*\)$/
|
138
|
+
fields = o.lines[0].split
|
139
|
+
queue << "#{fields[2]} #{fields[3]} #{fields[4]} #{fields[5]}"
|
140
|
+
end
|
141
|
+
end
|
142
|
+
queue
|
143
|
+
end
|
144
|
+
|
145
|
+
#
|
146
|
+
# Return an array of timestamps for messages in the hold queue.
|
147
|
+
#
|
148
|
+
# Items in the hold queue appear with a '!' next to the QID in `mailq`.
|
149
|
+
#
|
150
|
+
def queue_data_hold
|
151
|
+
queue = `#{config[:path]} | /bin/egrep '^[0-9A-F]+!' | awk '{print $3, $4, $5, $6}'`
|
152
|
+
queue.split("\n")
|
153
|
+
end
|
154
|
+
|
155
|
+
#
|
156
|
+
# Return an array of timestamps for messages in the incoming queue.
|
157
|
+
#
|
158
|
+
# Items in the incoming queue have no special character indicating as much in
|
159
|
+
# `mailq`. Inspecting `/var/spool/postfix` directly requires root or postfix
|
160
|
+
# user permissions, so we have to get a little tricky here and find any queue
|
161
|
+
# item with no special character and that's not followed by a deferal line.
|
162
|
+
#
|
163
|
+
def queue_data_incoming
|
164
|
+
output = `#{config[:path]} | /bin/egrep -A 1 '^[0-9A-F]+ +'`.split("\n--\n")
|
165
|
+
queue = []
|
166
|
+
output.each do |o|
|
167
|
+
unless o.lines[1].strip =~ /^\(.*\)$/
|
168
|
+
fields = o.lines[0].split
|
169
|
+
queue << "#{fields[2]} #{fields[3]} #{fields[4]} #{fields[5]}"
|
170
|
+
end
|
171
|
+
end
|
172
|
+
queue
|
173
|
+
end
|
174
|
+
end
|
data/bin/check-mailq.rb
CHANGED
@@ -1,12 +1,36 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
4
|
+
# check-mailq
|
5
|
+
#
|
6
|
+
# DESCRIPTION:
|
7
|
+
# Check the size of the Postfix mail queue
|
8
|
+
#
|
9
|
+
# OUTPUT:
|
10
|
+
# Plain text
|
11
|
+
#
|
12
|
+
# PLATFORMS:
|
13
|
+
# Linux; any platform with Postfix and egrep
|
14
|
+
#
|
15
|
+
# DEPENDENCIES:
|
16
|
+
# gem: sensu-plugin
|
17
|
+
#
|
18
|
+
# USAGE:
|
19
|
+
# ./check-mailq.rb [-p path_to_mailq] [-q queue] -w warn -c crit
|
20
|
+
# ./check-mailq.rb -w 200 -c 400
|
21
|
+
# ./check-mailq.rb -q deferred -w 100 -c 200
|
22
|
+
# ./check-mailq.rb -p /usr/local/bin/mailq -q active -w 50 -c 100
|
2
23
|
#
|
3
|
-
#
|
4
|
-
#
|
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.
|
5
28
|
#
|
6
|
-
#
|
29
|
+
# LICENSE:
|
30
|
+
# Justin Lambert <jlambert@letsevenup.com>
|
31
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
32
|
+
# for details.
|
7
33
|
#
|
8
|
-
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
9
|
-
# for details.
|
10
34
|
|
11
35
|
require 'sensu-plugin/check/cli'
|
12
36
|
|
@@ -17,6 +41,13 @@ class PostfixMailq < Sensu::Plugin::Check::CLI
|
|
17
41
|
description: 'Path to the postfix mailq binary. Defaults to /usr/bin/mailq',
|
18
42
|
default: '/usr/bin/mailq'
|
19
43
|
|
44
|
+
option :queue,
|
45
|
+
short: '-q QUEUE_NAME',
|
46
|
+
long: '--queue QUEUE_NAME',
|
47
|
+
description: 'The queue to check (active, deferred, hold, ' \
|
48
|
+
"incoming, or all). Defaults to 'all'",
|
49
|
+
default: 'all'
|
50
|
+
|
20
51
|
option :warning,
|
21
52
|
short: '-w WARN_NUM',
|
22
53
|
long: '--warnnum WARN_NUM',
|
@@ -30,24 +61,60 @@ class PostfixMailq < Sensu::Plugin::Check::CLI
|
|
30
61
|
required: true
|
31
62
|
|
32
63
|
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
|
64
|
+
num_messages = send("check_queue_size_#{config[:queue]}")
|
65
|
+
msg = "#{num_messages} messages in the postfix #{config[:queue] == 'all' ? 'mail' : config[:queue]} queue"
|
44
66
|
|
45
67
|
if num_messages >= config[:critical].to_i
|
46
|
-
critical
|
68
|
+
critical msg
|
47
69
|
elsif num_messages >= config[:warning].to_i
|
48
|
-
warning
|
70
|
+
warning msg
|
49
71
|
else
|
50
|
-
ok
|
72
|
+
ok msg
|
51
73
|
end
|
52
74
|
end
|
75
|
+
|
76
|
+
#
|
77
|
+
# Return the number of messages in all the queues.
|
78
|
+
#
|
79
|
+
# `mailq` will either end with a summary line (-- 11 Kbytes in 31 Requests.)
|
80
|
+
# or 'Mail queue is empty'. Using grep rather than returning the entire
|
81
|
+
# list since that could consume a significant amount of memory.
|
82
|
+
#
|
83
|
+
def check_queue_size_all
|
84
|
+
queue = `#{config[:path]} | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
|
85
|
+
queue == 'Mail queue is empty' ? 0 : queue.split(' ')[4].to_i
|
86
|
+
end
|
87
|
+
|
88
|
+
#
|
89
|
+
# Items in the active queue appear with a '*' next to the QID in `mailq`
|
90
|
+
#
|
91
|
+
def check_queue_size_active
|
92
|
+
`#{config[:path]} | /bin/egrep -c '^[0-9A-F]+\\*'`.to_i
|
93
|
+
end
|
94
|
+
|
95
|
+
#
|
96
|
+
# Items in the deferred queue do not have a special indicator in `mailq`,
|
97
|
+
# but are followed by lines with deferral reasons in ()s.
|
98
|
+
#
|
99
|
+
def check_queue_size_deferred
|
100
|
+
`#{config[:path]} | /bin/grep -c '^ *(.*)$'`.to_i
|
101
|
+
end
|
102
|
+
|
103
|
+
#
|
104
|
+
# Items in the hold queue appear with a '!' next to the QID in `mailq`.
|
105
|
+
#
|
106
|
+
def check_queue_size_hold
|
107
|
+
`#{config[:path]} | /bin/egrep -c '^[0-9A-F]+!'`.to_i
|
108
|
+
end
|
109
|
+
|
110
|
+
#
|
111
|
+
# Items in the incoming queue have no special character indicating as much in
|
112
|
+
# `mailq`. Inspecting `/var/spool/postfix` directly requires root or postfix
|
113
|
+
# user permissions, so let's try to be crafty and subtract the number of
|
114
|
+
# deferred messages from the total number of messages with no special
|
115
|
+
# character appended to their QID.
|
116
|
+
#
|
117
|
+
def check_queue_size_incoming
|
118
|
+
`#{config[:path]} | /bin/egrep -c '^[0-9A-F]+ +'`.to_i - check_queue_size_deferred
|
119
|
+
end
|
53
120
|
end
|
data/bin/metrics-mailq.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#
|
2
|
+
# frozen_string_literal: false
|
3
|
+
|
3
4
|
# Postfix Mailq metrics
|
4
5
|
# ===
|
5
6
|
#
|
@@ -38,15 +39,15 @@ class PostfixMailqMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
|
38
39
|
|
39
40
|
def run
|
40
41
|
timestamp = Time.now.to_i
|
41
|
-
queue = `#{config[:path]} | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
|
42
|
+
queue = `#{config[:path]} 2>&1 | /bin/egrep '[0-9]+ Kbytes in [0-9]+ Request\|Mail queue is empty'`
|
42
43
|
# Set the number of messages in the queue
|
43
|
-
if queue == 'Mail queue is empty'
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
num_messages = if queue == 'Mail queue is empty'
|
45
|
+
0
|
46
|
+
else
|
47
|
+
queue.split(' ')[4].to_i
|
48
|
+
end
|
48
49
|
graphite_name = config[:scheme] + '.postfixMailqCount'
|
49
|
-
output
|
50
|
+
output graphite_name.to_s, num_messages, timestamp
|
50
51
|
ok
|
51
52
|
end
|
52
53
|
end
|
metadata
CHANGED
@@ -1,135 +1,127 @@
|
|
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: 2.0.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-06-04 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-08-24 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:
|
19
|
+
version: '4.0'
|
42
20
|
type: :runtime
|
43
21
|
prerelease: false
|
44
22
|
version_requirements: !ruby/object:Gem::Requirement
|
45
23
|
requirements:
|
46
|
-
- -
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
47
39
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
40
|
+
version: '2.1'
|
49
41
|
- !ruby/object:Gem::Dependency
|
50
42
|
name: codeclimate-test-reporter
|
51
43
|
requirement: !ruby/object:Gem::Requirement
|
52
44
|
requirements:
|
53
45
|
- - "~>"
|
54
46
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0
|
47
|
+
version: '1.0'
|
56
48
|
type: :development
|
57
49
|
prerelease: false
|
58
50
|
version_requirements: !ruby/object:Gem::Requirement
|
59
51
|
requirements:
|
60
52
|
- - "~>"
|
61
53
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0
|
54
|
+
version: '1.0'
|
63
55
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
56
|
+
name: github-markup
|
65
57
|
requirement: !ruby/object:Gem::Requirement
|
66
58
|
requirements:
|
67
59
|
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0
|
61
|
+
version: '3.0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
65
|
requirements:
|
74
66
|
- - "~>"
|
75
67
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0
|
68
|
+
version: '3.0'
|
77
69
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
70
|
+
name: kitchen-localhost
|
79
71
|
requirement: !ruby/object:Gem::Requirement
|
80
72
|
requirements:
|
81
73
|
- - "~>"
|
82
74
|
- !ruby/object:Gem::Version
|
83
|
-
version: '3
|
75
|
+
version: '0.3'
|
84
76
|
type: :development
|
85
77
|
prerelease: false
|
86
78
|
version_requirements: !ruby/object:Gem::Requirement
|
87
79
|
requirements:
|
88
80
|
- - "~>"
|
89
81
|
- !ruby/object:Gem::Version
|
90
|
-
version: '3
|
82
|
+
version: '0.3'
|
91
83
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
84
|
+
name: kitchen-vagrant
|
93
85
|
requirement: !ruby/object:Gem::Requirement
|
94
86
|
requirements:
|
95
87
|
- - "~>"
|
96
88
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
89
|
+
version: 1.5.2
|
98
90
|
type: :development
|
99
91
|
prerelease: false
|
100
92
|
version_requirements: !ruby/object:Gem::Requirement
|
101
93
|
requirements:
|
102
94
|
- - "~>"
|
103
95
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
96
|
+
version: 1.5.2
|
105
97
|
- !ruby/object:Gem::Dependency
|
106
|
-
name:
|
98
|
+
name: pry
|
107
99
|
requirement: !ruby/object:Gem::Requirement
|
108
100
|
requirements:
|
109
101
|
- - "~>"
|
110
102
|
- !ruby/object:Gem::Version
|
111
|
-
version: '10
|
103
|
+
version: '0.10'
|
112
104
|
type: :development
|
113
105
|
prerelease: false
|
114
106
|
version_requirements: !ruby/object:Gem::Requirement
|
115
107
|
requirements:
|
116
108
|
- - "~>"
|
117
109
|
- !ruby/object:Gem::Version
|
118
|
-
version: '10
|
110
|
+
version: '0.10'
|
119
111
|
- !ruby/object:Gem::Dependency
|
120
|
-
name:
|
112
|
+
name: rake
|
121
113
|
requirement: !ruby/object:Gem::Requirement
|
122
114
|
requirements:
|
123
115
|
- - "~>"
|
124
116
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
117
|
+
version: '13.0'
|
126
118
|
type: :development
|
127
119
|
prerelease: false
|
128
120
|
version_requirements: !ruby/object:Gem::Requirement
|
129
121
|
requirements:
|
130
122
|
- - "~>"
|
131
123
|
- !ruby/object:Gem::Version
|
132
|
-
version: '
|
124
|
+
version: '13.0'
|
133
125
|
- !ruby/object:Gem::Dependency
|
134
126
|
name: redcarpet
|
135
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,42 +137,77 @@ dependencies:
|
|
145
137
|
- !ruby/object:Gem::Version
|
146
138
|
version: '3.2'
|
147
139
|
- !ruby/object:Gem::Dependency
|
148
|
-
name:
|
140
|
+
name: rspec
|
149
141
|
requirement: !ruby/object:Gem::Requirement
|
150
142
|
requirements:
|
151
143
|
- - "~>"
|
152
144
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
145
|
+
version: '3.1'
|
154
146
|
type: :development
|
155
147
|
prerelease: false
|
156
148
|
version_requirements: !ruby/object:Gem::Requirement
|
157
149
|
requirements:
|
158
150
|
- - "~>"
|
159
151
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
152
|
+
version: '3.1'
|
161
153
|
- !ruby/object:Gem::Dependency
|
162
|
-
name:
|
154
|
+
name: rubocop
|
163
155
|
requirement: !ruby/object:Gem::Requirement
|
164
156
|
requirements:
|
165
157
|
- - "~>"
|
166
158
|
- !ruby/object:Gem::Version
|
167
|
-
version:
|
159
|
+
version: 0.81.0
|
168
160
|
type: :development
|
169
161
|
prerelease: false
|
170
162
|
version_requirements: !ruby/object:Gem::Requirement
|
171
163
|
requirements:
|
172
164
|
- - "~>"
|
173
165
|
- !ruby/object:Gem::Version
|
174
|
-
version:
|
175
|
-
|
166
|
+
version: 0.81.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: test-kitchen
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.5'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '1.5'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: yard
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0.8'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0.8'
|
195
|
+
description: |-
|
196
|
+
This plugin provides native Postfix instrumentation
|
197
|
+
for monitoring and metrics collection of the mail
|
198
|
+
queue via `mailq`
|
176
199
|
email: "<sensu-users@googlegroups.com>"
|
177
|
-
executables:
|
200
|
+
executables:
|
201
|
+
- check-mailq.rb
|
202
|
+
- metrics-mailq.rb
|
203
|
+
- check-mail-delay.rb
|
178
204
|
extensions: []
|
179
205
|
extra_rdoc_files: []
|
180
206
|
files:
|
181
207
|
- CHANGELOG.md
|
182
208
|
- LICENSE
|
183
209
|
- README.md
|
210
|
+
- bin/check-mail-delay.rb
|
184
211
|
- bin/check-mailq.rb
|
185
212
|
- bin/metrics-mailq.rb
|
186
213
|
- lib/sensu-plugins-postfix.rb
|
@@ -189,7 +216,7 @@ homepage: https://github.com/sensu-plugins/sensu-plugins-postfix
|
|
189
216
|
licenses:
|
190
217
|
- MIT
|
191
218
|
metadata:
|
192
|
-
maintainer:
|
219
|
+
maintainer: sensu-plugin
|
193
220
|
development_status: active
|
194
221
|
production_status: unstable - testing recommended
|
195
222
|
release_draft: 'false'
|
@@ -203,15 +230,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
203
230
|
requirements:
|
204
231
|
- - ">="
|
205
232
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
233
|
+
version: '2.3'
|
207
234
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
235
|
requirements:
|
209
236
|
- - ">="
|
210
237
|
- !ruby/object:Gem::Version
|
211
238
|
version: '0'
|
212
239
|
requirements: []
|
213
|
-
|
214
|
-
rubygems_version: 2.4.6
|
240
|
+
rubygems_version: 3.0.8
|
215
241
|
signing_key:
|
216
242
|
specification_version: 4
|
217
243
|
summary: Sensu plugins for postfix
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|