Skip to content

Commit 4e94297

Browse files
tony-landrethAnthony Landrethkeithf4
authored
Adds pg17 files to postgres_exporter (#435)
* Adds pg17 files to postgres_exporter * Adds a changelog fragment. * fix: move bgwriter query from global to versioned general for postgres_exporter --------- Co-authored-by: Anthony Landreth <tony.landreth@crunchydata.com> Co-authored-by: Keith Fiske <keith@keithf4.com>
1 parent 5fe6ceb commit 4e94297

14 files changed

Lines changed: 960 additions & 40 deletions

changelogs/fragments/435.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
minor_changes:
3+
- postgres_exporter - Files to help transition off of postgres_exporter.

postgres_exporter/common/pg11/queries_general.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,42 @@
66
#
77
###
88

9-
# There are currently no PG11 only queries that are not already in queries_global.yml
10-
# This file is kept to allow consistent setting of QUERY_FILE_LIST in sysconfig with future PG versions
9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
1145

1246
###
1347
#

postgres_exporter/common/pg12/queries_general.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@
66
#
77
###
88

9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
945

1046
ccp_data_checksum_failure:
1147
query: "SELECT datname AS dbname

postgres_exporter/common/pg13/queries_general.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@
66
#
77
###
88

9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
945

1046
ccp_data_checksum_failure:
1147
query: "SELECT datname AS dbname

postgres_exporter/common/pg14/queries_general.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,42 @@
66
#
77
###
88

9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
945

1046
ccp_data_checksum_failure:
1147
query: "SELECT datname AS dbname

postgres_exporter/common/pg15/queries_general.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,43 @@
66
#
77
###
88

9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
45+
946

1047
ccp_data_checksum_failure:
1148
query: "SELECT datname AS dbname

postgres_exporter/common/pg16/queries_general.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,43 @@
66
#
77
###
88

9+
ccp_stat_bgwriter:
10+
query: "SELECT checkpoints_timed, checkpoints_req, checkpoint_write_time, checkpoint_sync_time, buffers_checkpoint, buffers_clean, maxwritten_clean, buffers_backend, buffers_backend_fsync, buffers_alloc, stats_reset FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- checkpoints_timed:
13+
usage: "GAUGE"
14+
description: "Number of scheduled checkpoints that have been performed"
15+
- checkpoints_req:
16+
usage: "GAUGE"
17+
description: "Number of requested checkpoints that have been performed"
18+
- checkpoint_write_time:
19+
usage: "GAUGE"
20+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds"
21+
- checkpoint_sync_time:
22+
usage: "GAUGE"
23+
description: "Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds"
24+
- buffers_checkpoint:
25+
usage: "GAUGE"
26+
description: "Number of buffers written during checkpoints"
27+
- buffers_clean:
28+
usage: "GAUGE"
29+
description: "Number of buffers written by the background writer"
30+
- maxwritten_clean:
31+
usage: "GAUGE"
32+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
33+
- buffers_backend:
34+
usage: "GAUGE"
35+
description: "Number of buffers written directly by a backend"
36+
- buffers_backend_fsync:
37+
usage: "GAUGE"
38+
description: "Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)"
39+
- buffers_alloc:
40+
usage: "GAUGE"
41+
description: "Number of buffers allocated"
42+
- stats_reset:
43+
usage: "GAUGE"
44+
description: "Time at which these statistics were last reset"
45+
946

1047
ccp_data_checksum_failure:
1148
query: "SELECT datname AS dbname
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
###
2+
#
3+
# Begin File: PG17 queries_general.yml
4+
#
5+
# Copyright © 2017-2024 Crunchy Data Solutions, Inc. All Rights Reserved.
6+
#
7+
###
8+
9+
ccp_stat_bgwriter:
10+
query: "SELECT buffers_clean, maxwritten_clean, buffers_alloc FROM pg_catalog.pg_stat_bgwriter"
11+
metrics:
12+
- buffers_clean:
13+
usage: "GAUGE"
14+
description: "Number of buffers written by the background writer"
15+
- maxwritten_clean:
16+
usage: "GAUGE"
17+
description: "Number of times the background writer stopped a cleaning scan because it had written too many buffers"
18+
- buffers_alloc:
19+
usage: "GAUGE"
20+
description: "Number of buffers allocated"
21+
22+
23+
ccp_data_checksum_failure:
24+
query: "SELECT datname AS dbname
25+
, checksum_failures AS count
26+
, coalesce(extract(epoch from (clock_timestamp() - checksum_last_failure)), 0) AS time_since_last_failure_seconds
27+
FROM pg_catalog.pg_stat_database;"
28+
metrics:
29+
- dbname:
30+
usage: "LABEL"
31+
description: "Database name"
32+
- count:
33+
usage: "GAUGE"
34+
description: "Total number of checksum failures on this database"
35+
- time_since_last_failure_seconds:
36+
usage: "GAUGE"
37+
description: "Time interval in seconds since the last checksum failure was encountered"
38+
39+
40+
###
41+
#
42+
# End File: PG17 queries_general.yml
43+
#
44+
###

0 commit comments

Comments
 (0)