postfix-exporter 1.0.2 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
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