sensu-plugins-postgres 1.0.1 → 1.1.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 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'