sensu-plugins-postgres 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -2
- data/bin/check-postgres-replication.rb +4 -14
- data/lib/sensu-plugins-postgres/pgutil.rb +13 -0
- data/lib/sensu-plugins-postgres/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b8b321bd7b58507b107ad5537be23e4772af0c816ccb8671ab54ae17260823e
|
4
|
+
data.tar.gz: 84650ac794e8dfcdc2bfd30af486004d1b43965ae16eb7fa615630e853d27694
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21b7c966145dc4e5fa92f49ec303d7219cc1ea9578d5f790bdc7ee564e96cd7bcc3574ccffe9ad5044f35685f180b28f6bb27b9fe555ce01948a8e3a5d69071c
|
7
|
+
data.tar.gz: 82bbe1c1df6c9a8c964f5fa09dfeb9998c09cf2890e97133b6183c101c9c0f899f551dd01faf6b3b80e9513273c98b3f993ac6f3771787d277444a85f763f8e6
|
data/CHANGELOG.md
CHANGED
@@ -5,9 +5,13 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [2.1.0] - 2018-10-16
|
9
|
+
### Added
|
10
|
+
- Moves check_vsn and compute_lag to library method (@phumpal)
|
11
|
+
|
8
12
|
## [2.0.0] - 2018-10-15
|
9
13
|
### Breaking Changes
|
10
|
-
- Remove unsupported Rubies: `< 2.3.0`
|
14
|
+
- Remove unsupported Rubies: `< 2.3.0` (@phumpal)
|
11
15
|
|
12
16
|
## [1.4.6] - 2018-05-03
|
13
17
|
### Fixed
|
@@ -149,7 +153,8 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
149
153
|
### Added
|
150
154
|
- initial release
|
151
155
|
|
152
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/2.
|
156
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/2.1.0...HEAD
|
157
|
+
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/2.0.0...2.1.0
|
153
158
|
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.4.6...2.0.0
|
154
159
|
[1.4.6]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.4.5...1.4.6
|
155
160
|
[1.4.5]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.4.4...1.4.5
|
@@ -27,6 +27,7 @@
|
|
27
27
|
#
|
28
28
|
|
29
29
|
require 'sensu-plugins-postgres/pgpass'
|
30
|
+
require 'sensu-plugins-postgres/pgutil'
|
30
31
|
require 'sensu-plugin/check/cli'
|
31
32
|
require 'pg'
|
32
33
|
|
@@ -97,18 +98,7 @@ class CheckPostgresReplicationStatus < Sensu::Plugin::Check::CLI
|
|
97
98
|
description: 'Connection timeout (seconds)')
|
98
99
|
|
99
100
|
include Pgpass
|
100
|
-
|
101
|
-
def compute_lag(master, slave, m_segbytes)
|
102
|
-
m_segment, m_offset = master.split('/')
|
103
|
-
s_segment, s_offset = slave.split('/')
|
104
|
-
((m_segment.hex - s_segment.hex) * m_segbytes) + (m_offset.hex - s_offset.hex)
|
105
|
-
end
|
106
|
-
|
107
|
-
def check_vsn(conn)
|
108
|
-
pg_vsn = conn.exec("SELECT current_setting('server_version')").getvalue(0, 0)
|
109
|
-
pg_vsn = pg_vsn.split(' ')[0]
|
110
|
-
Gem::Version.new(pg_vsn) < Gem::Version.new('10.0') && Gem::Version.new(pg_vsn) >= Gem::Version.new('9.0')
|
111
|
-
end
|
101
|
+
include PgUtil
|
112
102
|
|
113
103
|
def run
|
114
104
|
ssl_mode = config[:ssl] ? 'require' : 'prefer'
|
@@ -123,7 +113,7 @@ class CheckPostgresReplicationStatus < Sensu::Plugin::Check::CLI
|
|
123
113
|
sslmode: ssl_mode,
|
124
114
|
connect_timeout: config[:timeout])
|
125
115
|
|
126
|
-
master = if
|
116
|
+
master = if check_vsn_newer_than_postgres9(conn_master)
|
127
117
|
conn_master.exec('SELECT pg_current_xlog_location()').getvalue(0, 0)
|
128
118
|
else
|
129
119
|
conn_master.exec('SELECT pg_current_wal_lsn()').getvalue(0, 0)
|
@@ -140,7 +130,7 @@ class CheckPostgresReplicationStatus < Sensu::Plugin::Check::CLI
|
|
140
130
|
sslmode: ssl_mode,
|
141
131
|
connect_timeout: config[:timeout])
|
142
132
|
|
143
|
-
slave = if
|
133
|
+
slave = if check_vsn_newer_than_postgres9(conn_slave)
|
144
134
|
conn_slave.exec('SELECT pg_last_xlog_receive_location()').getvalue(0, 0)
|
145
135
|
else
|
146
136
|
conn_slave.exec('SELECT pg_last_wal_replay_lsn()').getvalue(0, 0)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module PgUtil
|
2
|
+
def check_vsn_newer_than_postgres9(conn)
|
3
|
+
pg_vsn = conn.exec("SELECT current_setting('server_version')").getvalue(0, 0)
|
4
|
+
pg_vsn = pg_vsn.split(' ')[0]
|
5
|
+
Gem::Version.new(pg_vsn) < Gem::Version.new('10.0') && Gem::Version.new(pg_vsn) >= Gem::Version.new('9.0')
|
6
|
+
end
|
7
|
+
|
8
|
+
def compute_lag(master, slave, m_segbytes)
|
9
|
+
m_segment, m_offset = master.split('/')
|
10
|
+
s_segment, s_offset = slave.split('/')
|
11
|
+
((m_segment.hex - s_segment.hex) * m_segbytes) + (m_offset.hex - s_offset.hex)
|
12
|
+
end
|
13
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-postgres
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -297,6 +297,7 @@ files:
|
|
297
297
|
- bin/metrics-postgres-query.rb
|
298
298
|
- lib/sensu-plugins-postgres.rb
|
299
299
|
- lib/sensu-plugins-postgres/pgpass.rb
|
300
|
+
- lib/sensu-plugins-postgres/pgutil.rb
|
300
301
|
- lib/sensu-plugins-postgres/version.rb
|
301
302
|
homepage: https://github.com/sensu-plugins/sensu-plugins-postgres
|
302
303
|
licenses:
|