sensu-plugins-postgres 1.0.1 → 1.1.0

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: eb6195d992a97d0ce5593bd80d8cd32c218eedeb
4
- data.tar.gz: 337cabc4b6ccf76525b96d4e3ff3fb2f27027133
3
+ metadata.gz: f6bfd7b45d75e036b101f45450c252abf49d653b
4
+ data.tar.gz: e923b0caa1619da1cce35d8e09f53ea6dd94fd9a
5
5
  SHA512:
6
- metadata.gz: eb0b1cf73e7c0a125666ea800deff9f99ae9fe7add6fc5e1679b80dff7717c3064b16341c7a3aef871a1692d2926717d649921c82176e2e7abb9ca85d8e760bc
7
- data.tar.gz: 9619e3aa4550b68844a59a1c28a2c772fc4d53377940cd4cfd6b6842cbb2a4cfac0ddc4348a8c503c2853ea75e2ddfd9aa2c30d9584a4b3ac07cd6b76ff4e957
6
+ metadata.gz: 49df212d0fbf4c219a7e6b7b2b68375e6060151300f834ae3975e5614143f65492a8930975be15c58cb98c90f08ca8e4331f44d6d8e9a59c639f4ba88409f5aa
7
+ data.tar.gz: ddb21faebe8214bf2a55cb9e37b8e426f376110b8c3bcbd66830b277187b19c4abdf0f909bf6ca129e9c52a3d9b06b5811a7224677571b97c8eb0e46342b2a6b
data/CHANGELOG.md CHANGED
@@ -1,10 +1,31 @@
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
6
  ## [Unreleased]
7
7
 
8
+ ## [1.1.0] - 2017-04-20
9
+ ### Added
10
+ - metrics-postgres-query.rb: Add option to return multi row queries. (@Micasou)
11
+
12
+ ### Fixed
13
+ - check-postgres-alive.rb: Fix connections using a custom port (#25 via @mickfeech)
14
+ - check-postgres-connections.rb: Fix connections using a custom port (#25)
15
+ - check-postgres-query.rb: Fix connections using a custom port (#25)
16
+ - check-postgres-replication.rb: Fix connections using a custom port (#25)
17
+ - metrics-postgres-connections.rb: Fix connections using a custom port (#25)
18
+ - metrics-postgres-dbsize.rb: Fix connections using a custom port (#25)
19
+ - metrics-postgres-graphite.rb: Fix connections using a custom port (#25)
20
+ - metrics-postgres-graphite.rb: Fix connections using password (@teadur)
21
+ - metrics-postgres-locks.rb: Fix connections using a custom port (#25)
22
+ - metrics-postgres-statsgbwriter.rb: Fix connections using a custom port (#25)
23
+ - metrics-postgres-statsdb.rb: Fix connections using a custom port (#25)
24
+ - metrics-postgres-statsio.rb: Fix connections using a custom port (#25)
25
+ - metrics-postgres-statstable.rb: Fix connections using a custom port (#25)
26
+ - metrics-postgres-query.rb: Fix connections using a custom port (#25)
27
+ - check-postgres-connections.rb: Fix logic to check critical first then warning (#24 via @nevins-b)
28
+
8
29
  ## [1.0.1] - 2017-01-04
9
30
  ### Fixed
10
31
  - metrics-postgres-query.rb: Fix `count_tuples` option (#23) (@eheydrick)
@@ -66,7 +87,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
66
87
  ### Added
67
88
  - initial release
68
89
 
69
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.0.1...HEAD
90
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.1.0...HEAD
91
+ [1.1.0]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.0.1...1.1.0
70
92
  [1.0.1]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/1.0.0...1.0.1
71
93
  [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/0.1.1...1.0.0
72
94
  [0.1.1]: https://github.com/sensu-plugins/sensu-plugins-postgres/compare/0.1.0...0.1.1
@@ -69,6 +69,7 @@ class CheckPostgres < Sensu::Plugin::Check::CLI
69
69
  dbname: config[:database],
70
70
  user: config[:user],
71
71
  password: config[:password],
72
+ port: config[:port],
72
73
  connect_timeout: config[:timeout])
73
74
  res = con.exec('select version();')
74
75
  info = res.first
@@ -97,6 +97,7 @@ class CheckPostgresConnections < Sensu::Plugin::Check::CLI
97
97
  dbname: config[:database],
98
98
  user: config[:user],
99
99
  password: config[:password],
100
+ port: config[:port],
100
101
  connect_timeout: config[:timeout])
101
102
  max_conns = con.exec('SHOW max_connections').getvalue(0, 0).to_i
102
103
  current_conns = con.exec('SELECT count(*) from pg_stat_activity').getvalue(0, 0).to_i
@@ -108,19 +109,19 @@ class CheckPostgresConnections < Sensu::Plugin::Check::CLI
108
109
 
109
110
  if config[:use_percentage]
110
111
  message = "PostgreSQL connections at #{percent}%, #{current_conns} out of #{max_conns} connections"
111
- if percent >= config[:warning]
112
- warning message
113
- elsif percent >= config[:critical]
112
+ if percent >= config[:critical]
114
113
  critical message
114
+ elsif percent >= config[:warning]
115
+ warning message
115
116
  else
116
117
  ok "PostgreSQL connections under threshold: #{percent}%, #{current_conns} out of #{max_conns} connections"
117
118
  end
118
119
  else
119
120
  message = "PostgreSQL connections at #{current_conns} out of #{max_conns} connections"
120
- if current_conns >= config[:warning]
121
- warning message
122
- elsif current_conns >= config[:critical]
121
+ if current_conns >= config[:critical]
123
122
  critical message
123
+ elsif current_conns >= config[:warning]
124
+ warning message
124
125
  else
125
126
  ok "PostgreSQL connections under threshold: #{current_conns} out of #{max_conns} connections"
126
127
  end
@@ -100,6 +100,7 @@ class CheckPostgresQuery < Sensu::Plugin::Check::CLI
100
100
  dbname: config[:database],
101
101
  user: config[:user],
102
102
  password: config[:password],
103
+ port: config[:port],
103
104
  connect_timeout: config[:timeout])
104
105
  res = con.exec(config[:query].to_s)
105
106
  rescue PG::Error => e
@@ -98,6 +98,7 @@ class CheckPostgresReplicationStatus < Sensu::Plugin::Check::CLI
98
98
  dbname: config[:database],
99
99
  user: config[:user],
100
100
  password: config[:password],
101
+ port: config[:port],
101
102
  sslmode: ssl_mode,
102
103
  connect_timeout: config[:timeout])
103
104
 
@@ -79,6 +79,7 @@ class PostgresStatsDBMetrics < Sensu::Plugin::Metric::CLI::Graphite
79
79
  dbname: config[:database],
80
80
  user: config[:user],
81
81
  password: config[:password],
82
+ port: config[:port],
82
83
  connect_timeout: config[:timeout])
83
84
  request = [
84
85
  "select case when count(*) = 1 then 'waiting' else",
@@ -79,6 +79,7 @@ class PostgresStatsDBMetrics < Sensu::Plugin::Metric::CLI::Graphite
79
79
  dbname: config[:database],
80
80
  user: config[:user],
81
81
  password: config[:password],
82
+ port: config[:port],
82
83
  connect_timeout: config[:timeout])
83
84
  request = [
84
85
  "select pg_database_size('#{config[:database]}')"
@@ -53,7 +53,7 @@ class CheckpostgresReplicationStatus < Sensu::Plugin::Metric::CLI::Graphite
53
53
  long: '--username=VALUE',
54
54
  description: 'Database username'
55
55
 
56
- option :pass,
56
+ option :password,
57
57
  short: '-p',
58
58
  long: '--password=VALUE',
59
59
  description: 'Database password'
@@ -82,6 +82,7 @@ class CheckpostgresReplicationStatus < Sensu::Plugin::Metric::CLI::Graphite
82
82
  dbname: config[:database],
83
83
  user: config[:user],
84
84
  password: config[:password],
85
+ port: config[:port],
85
86
  connect_timeout: config[:timeout])
86
87
  res1 = conn_master.exec('SELECT pg_current_xlog_location()').getvalue(0, 0)
87
88
  m_segbytes = conn_master.exec('SHOW wal_segment_size').getvalue(0, 0).sub(/\D+/, '').to_i << 20
@@ -81,6 +81,7 @@ class PostgresStatsDBMetrics < Sensu::Plugin::Metric::CLI::Graphite
81
81
  dbname: config[:database],
82
82
  user: config[:user],
83
83
  password: config[:password],
84
+ port: config[:port],
84
85
  connect_timeout: config[:timeout])
85
86
  request = [
86
87
  'SELECT mode, count(mode) FROM pg_locks',
@@ -73,6 +73,7 @@ class PostgresStatsDBMetrics < Sensu::Plugin::Metric::CLI::Graphite
73
73
  dbname: 'postgres',
74
74
  user: config[:user],
75
75
  password: config[:password],
76
+ port: config[:port],
76
77
  connect_timeout: config[:timeout])
77
78
  request = [
78
79
  'select checkpoints_timed, checkpoints_req,',
@@ -80,6 +80,7 @@ class PostgresStatsDBMetrics < Sensu::Plugin::Metric::CLI::Graphite
80
80
  dbname: config[:database],
81
81
  user: config[:user],
82
82
  password: config[:password],
83
+ port: config[:port],
83
84
  connect_timeout: config[:timeout])
84
85
  request = [
85
86
  'select xact_commit, xact_rollback,',
@@ -86,6 +86,7 @@ class PostgresStatsIOMetrics < Sensu::Plugin::Metric::CLI::Graphite
86
86
  dbname: config[:database],
87
87
  user: config[:user],
88
88
  password: config[:password],
89
+ port: config[:port],
89
90
  connect_timeout: config[:timeout])
90
91
  request = [
91
92
  'select sum(heap_blks_read) as heap_blks_read, sum(heap_blks_hit) as heap_blks_hit,',
@@ -86,6 +86,7 @@ class PostgresStatsTableMetrics < Sensu::Plugin::Metric::CLI::Graphite
86
86
  dbname: config[:database],
87
87
  user: config[:user],
88
88
  password: config[:password],
89
+ port: config[:port],
89
90
  connect_timeout: config[:timeout])
90
91
  request = [
91
92
  'select sum(seq_scan) as seq_scan, sum(seq_tup_read) as seq_tup_read,',
@@ -78,6 +78,13 @@ class MetricsPostgresQuery < Sensu::Plugin::Metric::CLI::Graphite
78
78
  long: '--scheme SCHEME',
79
79
  default: 'postgres'
80
80
 
81
+ option :multirow,
82
+ description: 'Determines if we return first row or all rows',
83
+ short: '-m',
84
+ long: '--multirow',
85
+ boolean: true,
86
+ default: false
87
+
81
88
  option :timeout,
82
89
  description: 'Connection timeout (seconds)',
83
90
  short: '-T TIMEOUT',
@@ -90,6 +97,7 @@ class MetricsPostgresQuery < Sensu::Plugin::Metric::CLI::Graphite
90
97
  dbname: config[:database],
91
98
  user: config[:user],
92
99
  password: config[:password],
100
+ port: config[:port],
93
101
  connect_timeout: config[:timeout])
94
102
  res = con.exec(config[:query].to_s)
95
103
  rescue PG::Error => e
@@ -99,10 +107,16 @@ class MetricsPostgresQuery < Sensu::Plugin::Metric::CLI::Graphite
99
107
  value = if config[:count_tuples]
100
108
  res.ntuples
101
109
  else
102
- res.first.values.first
110
+ res.values
103
111
  end
104
112
 
105
- output config[:scheme], value
113
+ if config[:multirow] && !config[:count_tuples]
114
+ value.each do |row|
115
+ output "#{config[:scheme]}.#{row[0]}", row[1]
116
+ end
117
+ else
118
+ output config[:scheme], value
119
+ end
106
120
  ok
107
121
  end
108
122
  end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsPostgres
2
2
  module Version
3
3
  MAJOR = 1
4
- MINOR = 0
5
- PATCH = 1
4
+ MINOR = 1
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  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: 1.0.1
4
+ version: 1.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: 2017-01-04 00:00:00.000000000 Z
11
+ date: 2017-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
@@ -225,7 +225,7 @@ homepage: https://github.com/sensu-plugins/sensu-plugins-postgres
225
225
  licenses:
226
226
  - MIT
227
227
  metadata:
228
- maintainer: "@tas50"
228
+ maintainer: sensu-plugin
229
229
  development_status: active
230
230
  production_status: unstable - testing recommended
231
231
  release_draft: 'false'