postfix-exporter 1.0.2 → 2.0.1

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,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b675b89c0c32beb4f209de131c64d992ae7afe2
4
- data.tar.gz: fdb7ff7596e381785878fc29165acc9aa58765b1
3
+ metadata.gz: ac8829a4fac2d42ea4eaecbc3b7f028f4e6bf290
4
+ data.tar.gz: 488d26327ab992f7e50bffd0b1214542e323abe1
5
5
  SHA512:
6
- metadata.gz: a4957e02af98f8b89b46a83939ee6250e53c4813b3976f413f56abb5b94b338f929c2bd5c5bfd05ac2d7169e1d045047f0a1669fc99a595812711022d69427fc
7
- data.tar.gz: 0c3351d074a4ff7d4f7691d21fce5995703d2ab3ece107845a9397f6182f5405bcf2df612f38d67e100c471017d921edadbd8a112260a2b8296f73b6f8e2c1c2
6
+ metadata.gz: 109c656a3ce8271e78430ba5a6d1b7fce8a194b5a916bc2c330118c0484dec1d966008ac50eaf3a08c85b15fa2e8df5c0a68e5fb5bc76f4a0ceaf2bf907a75a5
7
+ data.tar.gz: 53987a004535aebe9291f4c2d86ac270af7378c5a79b6be80afc8bba5ed56a4156009756af8d5b12c6cfde1c743aa2ecd07c446ca4672c6d32bf7172bbf5ba55
data/bin/postfix-exporter CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'prometheus/client/rack/exporter'
4
- require 'socket'
5
3
  require 'rack'
4
+ require 'prometheus/middleware/exporter'
5
+ require 'socket'
6
6
  require 'rack/handler/webrick'
7
7
  require 'logger'
8
8
 
@@ -34,7 +34,6 @@ end
34
34
 
35
35
  if ENV["SYSLOG_SOCKET"]
36
36
  delays = prometheus.summary(:postfix_delivery_delays, "Distribution of time taken to deliver (or bounce) messages")
37
- statuses = prometheus.counter(:postfix_deliveries, "How many messages have been delivered (or bounced)")
38
37
 
39
38
  Thread.new do
40
39
  begin
@@ -48,14 +47,13 @@ if ENV["SYSLOG_SOCKET"]
48
47
  loop do
49
48
  begin
50
49
  msg = s.recvmsg.first
51
- if msg =~ %r{postfix/smtp.* delay=(\d+(\.\d+)?), .* dsn=(\d+\.\d+\.\d+), status=(\w+)}
50
+ if msg =~ %r{postfix/.* delay=(\d+(\.\d+)?), .* dsn=(\d+\.\d+\.\d+), status=(\w+)}
52
51
  delay = $1.to_f
53
52
  dsn = $3
54
53
  status = $4
55
54
 
56
55
  if status == "bounced" or status == "sent"
57
- statuses.increment(dsn: dsn, status: status)
58
- delays.add({dsn: dsn, status: status}, delay)
56
+ delays.observe({dsn: dsn, status: status}, delay)
59
57
  end
60
58
  end
61
59
  rescue StandardError => ex
@@ -68,6 +66,7 @@ if ENV["SYSLOG_SOCKET"]
68
66
  end
69
67
 
70
68
  app = Rack::Builder.new
69
+ app.use Rack::Deflater, if: ->(_, _, _, body) { body.any? && body[0].length > 512 }
71
70
  app.use Prometheus::Client::Rack::Exporter
72
71
  app.run ->(env) { [404, {'Content-Type' => 'text/plain'}, ['NOPE NOPE NOPE NOPE']] }
73
72
 
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.required_ruby_version = ">= 2.1.0"
25
25
 
26
- s.add_runtime_dependency 'prometheus-client'
26
+ s.add_runtime_dependency 'prometheus-client', '~> 0.7'
27
27
  s.add_runtime_dependency 'rack'
28
28
 
29
29
  s.add_development_dependency 'bundler'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postfix-exporter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-03 00:00:00.000000000 Z
11
+ date: 2017-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prometheus-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  version: '0'
119
119
  requirements: []
120
120
  rubyforge_project:
121
- rubygems_version: 2.2.2
121
+ rubygems_version: 2.5.2
122
122
  signing_key:
123
123
  specification_version: 4
124
124
  summary: Export Prometheus statistics for a Postfix server