Add archive ready and temp file items to template

- Add the initital item definitions to the template for archive ready
  files and temp files.

- Fix the temp file query to be able to return both columns in all
  cases.
This commit is contained in:
James Campbell 2025-12-02 01:43:24 -05:00
parent 590425fae7
commit 9b48535a09
Signed by: james
GPG Key ID: 2287C33A40DC906A
2 changed files with 75 additions and 13 deletions

View File

@ -120,25 +120,27 @@ metrics:
type: row type: row
query: query:
120000: > 120000: >
SELECT count(*) AS count, coalesce(sum(size), 0) AS size SELECT count(*) AS count,
coalesce(sum(size), 0) AS size
FROM pg_ls_tmpdir() FROM pg_ls_tmpdir()
WHERE name LIKE 'pgsql_tmp%%' WHERE name LIKE 'pgsql_tmp%%'
90500: > 90500: >
SELECT count(*) AS count, coalesce(sum((pg_stat_file(name)).size), 0) AS size SELECT count(*) AS count,
coalesce(sum((pg_stat_file(name)).size), 0) AS size
FROM pg_ls_dir('base/pgsql_tmp/', true, false) AS name FROM pg_ls_dir('base/pgsql_tmp/', true, false) AS name
WHERE name LIKE 'pgsql_tmp%%' WHERE name LIKE 'pgsql_tmp%%'
0: > 0: >
SELECT SELECT count(*) AS count,
CASE WHEN ( coalesce(sum((pg_stat_file(files.name)).size), 0) AS size
SELECT count(*) FROM (
FROM pg_ls_dir('base') AS SELECT name
base WHERE base = 'pgsql_tmp') = 0 FROM pg_ls_dir('base') AS name
THEN 0 WHERE name = 'pgsql_tmp') AS dir
ELSE ( LEFT JOIN (
SELECT count(*) SELECT name
FROM pg_ls_dir('base/pgsql_tmp/') AS name FROM pg_ls_dir('base/pgsql_tmp/') AS name
WHERE name LIKE 'pgsql_tmp%%') WHERE name LIKE 'pgsql_tmp%%') AS files
END ON dir.name IS NOT NULL
ready_archive_files: ready_archive_files:
@ -162,7 +164,9 @@ metrics:
SELECT count(*) SELECT count(*)
FROM pg_ls_dir('pg_xlog/') AS f FROM pg_ls_dir('pg_xlog/') AS f
WHERE f = 'archive_status') = 0 WHERE f = 'archive_status') = 0
THEN 0 THEN (
SELECT 0 AS count
)
ELSE ( ELSE (
SELECT count(*) AS count SELECT count(*) AS count
FROM pg_ls_dir('pg_xlog/archive_status/') AS name FROM pg_ls_dir('pg_xlog/archive_status/') AS name

View File

@ -282,6 +282,39 @@ zabbix_export:
expression: 'last(/PostgreSQL by pgmon/pgmon.release.supported)<>1' expression: 'last(/PostgreSQL by pgmon/pgmon.release.supported)<>1'
name: 'PostgreSQL major release is lo longer supported' name: 'PostgreSQL major release is lo longer supported'
priority: INFO priority: INFO
- uuid: d0651ffc203949e3a24b1e1a2beb3dd7
name: 'Temp file size'
type: DEPENDENT
key: 'pgmon.temp_files[bytes]'
delay: '0'
history: 90d
units: b
description: 'Total size of all temp files'
preprocessing:
- type: JSONPATH
parameters:
- $.size
master_item:
key: 'pgmon[temp_files]'
tags:
- tag: Application
value: PostgreSQL
- uuid: deb355b26c37441189c85ac82465f21e
name: 'Temp file count'
type: DEPENDENT
key: 'pgmon.temp_files[count]'
delay: '0'
history: 90d
description: 'Total number of temp flies'
preprocessing:
- type: JSONPATH
parameters:
- $.count
master_item:
key: 'pgmon[temp_files]'
tags:
- tag: Application
value: PostgreSQL
- uuid: 763920af8da84db8a9a2667d9653cb21 - uuid: 763920af8da84db8a9a2667d9653cb21
name: 'PostgreSQL Agent Version' name: 'PostgreSQL Agent Version'
type: HTTP_AGENT type: HTTP_AGENT
@ -295,6 +328,17 @@ zabbix_export:
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
- uuid: a0bd4a987b7643c5a86e160dd9f9afcb
name: 'PostgreSQL Archive ready count'
type: HTTP_AGENT
key: 'pgmon[archive_ready]'
history: 90d
trends: '0'
description: 'Number of WAL files ready and waiting to be archived'
url: 'http://localhost:{$AGENT_PORT}/ready_archive_files'
tags:
- tag: Application
value: PostgreSQL
- uuid: 91baea76ebb240b19c5a5d3913d0b989 - uuid: 91baea76ebb240b19c5a5d3913d0b989
name: 'PostgreSQL BGWriter Info' name: 'PostgreSQL BGWriter Info'
type: HTTP_AGENT type: HTTP_AGENT
@ -369,6 +413,20 @@ zabbix_export:
value: PostgreSQL value: PostgreSQL
- tag: Type - tag: Type
value: Raw value: Raw
- uuid: bd3026ef3b82419d8a004e2d4684554a
name: 'PostgreSQL Temp Ffle info'
type: HTTP_AGENT
key: 'pgmon[temp_files]'
history: '0'
value_type: TEXT
trends: '0'
description: 'PostgreSQL temp file stats'
url: 'http://localhost:{$AGENT_PORT}/temp_files'
tags:
- tag: Application
value: PostgreSQL
- tag: Type
value: Raw
- uuid: ee88f5f4d2384f97946d049af5af4502 - uuid: ee88f5f4d2384f97946d049af5af4502
name: 'PostgreSQL version' name: 'PostgreSQL version'
type: HTTP_AGENT type: HTTP_AGENT