Update userparameter to select a config

This commit is contained in:
James Campbell 2024-05-28 01:37:42 -04:00
parent 9779faa7ff
commit f50e01ce6e
Signed by: james
GPG Key ID: 2287C33A40DC906A
4 changed files with 48 additions and 46 deletions

View File

@ -3,7 +3,8 @@
## ##
# Where to write/find the agent PID # Where to write/find the agent PID
#pid_file=/tmp/pgmon.pid #pid_file=/tmt/pgmon.pid
pid_file=/run/pgmon/pgmon.pid
## ##
# Agent communication settings # Agent communication settings
@ -11,6 +12,7 @@
# IPC socket # IPC socket
#ipc_socket=/tmp/pgmon.sock #ipc_socket=/tmp/pgmon.sock
ipc_socket=/run/pgmon/pgmon.sock
# IPC communication timeout (s) # IPC communication timeout (s)
#ipc_timeout=10 #ipc_timeout=10

View File

@ -733,7 +733,7 @@ class IPC:
self.mode = mode self.mode = mode
# Set up the connection # Set up the connection
self.reconnect() self.initialize()
def initialize(self): def initialize(self):
""" """
@ -1227,12 +1227,6 @@ class Worker(threading.Thread):
elif metric.type == 'set': elif metric.type == 'set':
req.set_result(json.dumps(res)) req.set_result(json.dumps(res))
# Close the database connection
try:
db.close()
except Exception as e:
logger.debug("Failed to close database connection: {}".format(e))
class Responder(threading.Thread): class Responder(threading.Thread):
""" """
@ -1305,6 +1299,8 @@ def main():
# Signal the server to reload # Signal the server to reload
try: try:
os.kill(pid, signal.SIGHUP) os.kill(pid, signal.SIGHUP)
except:
sys.exit("Failed to signal server: {}".format(e))
else: else:
# Start running in agent mode # Start running in agent mode
Agent.run(args.config, args.key) Agent.run(args.config, args.key)

View File

@ -13,14 +13,14 @@ zabbix_export:
items: items:
- uuid: 818721b38324495a949cfe8c10a00eec - uuid: 818721b38324495a949cfe8c10a00eec
name: 'Max Frozen XID Age' name: 'Max Frozen XID Age'
key: 'pgmon[max_frozen_age]' key: 'pgmon[$(AGENT_NAME},max_frozen_age]'
description: 'Maximum age of any frozen XID in any database' description: 'Maximum age of any frozen XID in any database'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
- uuid: e73d02840f4043288f5fe5cc8b7c997b - uuid: e73d02840f4043288f5fe5cc8b7c997b
name: 'PostgreSQL version' name: 'PostgreSQL version'
key: 'pgmon[version]' key: 'pgmon[{$AGENT_NAME},version]'
delay: 1h delay: 1h
description: 'PostgreSQL Server version number' description: 'PostgreSQL Server version number'
tags: tags:
@ -29,12 +29,12 @@ zabbix_export:
discovery_rules: discovery_rules:
- uuid: 35222acc25d34e008edd88f6b6ff7ad7 - uuid: 35222acc25d34e008edd88f6b6ff7ad7
name: 'Discover Databases' name: 'Discover Databases'
key: 'pgmon[discover_dbs]' key: 'pgmon[$(AGENT_NAME},discover_dbs]'
delay: 10m delay: 10m
item_prototypes: item_prototypes:
- uuid: 4bd8ecf7677a4eed97409ed86d8d0e64 - uuid: 4bd8ecf7677a4eed97409ed86d8d0e64
name: 'Database Stats for {#DBNAME}' name: 'Database Stats for {#DBNAME}'
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
history: '0' history: '0'
trends: '0' trends: '0'
value_type: TEXT value_type: TEXT
@ -57,7 +57,7 @@ zabbix_export:
parameters: parameters:
- '0.001' - '0.001'
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -72,7 +72,7 @@ zabbix_export:
parameters: parameters:
- $.numbackends - $.numbackends
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -87,7 +87,7 @@ zabbix_export:
parameters: parameters:
- $.blks_hit - $.blks_hit
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -102,7 +102,7 @@ zabbix_export:
parameters: parameters:
- $.blks_read - $.blks_read
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -122,7 +122,7 @@ zabbix_export:
parameters: parameters:
- '0.001' - '0.001'
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -142,7 +142,7 @@ zabbix_export:
parameters: parameters:
- '0.001' - '0.001'
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -162,7 +162,7 @@ zabbix_export:
error_handler: CUSTOM_VALUE error_handler: CUSTOM_VALUE
error_handler_params: '0' error_handler_params: '0'
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -177,7 +177,7 @@ zabbix_export:
parameters: parameters:
- $.conflicts - $.conflicts
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -192,7 +192,7 @@ zabbix_export:
parameters: parameters:
- $.deadlocks - $.deadlocks
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -212,7 +212,7 @@ zabbix_export:
parameters: parameters:
- '0.001' - '0.001'
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -228,7 +228,7 @@ zabbix_export:
parameters: parameters:
- $.sessions - $.sessions
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -244,7 +244,7 @@ zabbix_export:
parameters: parameters:
- $.sessions_abandoned - $.sessions_abandoned
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -260,7 +260,7 @@ zabbix_export:
parameters: parameters:
- $.sessions_fatal - $.sessions_fatal
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -276,7 +276,7 @@ zabbix_export:
parameters: parameters:
- $.sessions_killed - $.sessions_killed
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -292,7 +292,7 @@ zabbix_export:
parameters: parameters:
- $.temp_bytes - $.temp_bytes
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -307,7 +307,7 @@ zabbix_export:
parameters: parameters:
- $.temp_files - $.temp_files
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -322,7 +322,7 @@ zabbix_export:
parameters: parameters:
- $.tup_deleted - $.tup_deleted
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -337,7 +337,7 @@ zabbix_export:
parameters: parameters:
- $.tup_fetched - $.tup_fetched
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -352,7 +352,7 @@ zabbix_export:
parameters: parameters:
- $.tup_inserted - $.tup_inserted
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -367,7 +367,7 @@ zabbix_export:
parameters: parameters:
- $.tup_returned - $.tup_returned
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -382,7 +382,7 @@ zabbix_export:
parameters: parameters:
- $.tup_updated - $.tup_updated
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -397,7 +397,7 @@ zabbix_export:
parameters: parameters:
- $.xact_commit - $.xact_commit
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -412,7 +412,7 @@ zabbix_export:
parameters: parameters:
- $.xact_rollback - $.xact_rollback
master_item: master_item:
key: 'pgmon[db_stats,datname={#DBNAME}]' key: 'pgmon[$(AGENT_NAME},db_stats,datname={#DBNAME}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -473,12 +473,12 @@ zabbix_export:
path: $.datname path: $.datname
- uuid: fd2db56cbc4d4ad38595d51a8f5c1d1b - uuid: fd2db56cbc4d4ad38595d51a8f5c1d1b
name: 'Discover Replication' name: 'Discover Replication'
key: 'pgmon[discover_rep]' key: 'pgmon[$(AGENT_NAME},discover_rep]'
delay: 10m delay: 10m
item_prototypes: item_prototypes:
- uuid: 127c3e28248e4b2bb0937e5ea34cc847 - uuid: 127c3e28248e4b2bb0937e5ea34cc847
name: 'Replication Stats for {#REPID}' name: 'Replication Stats for {#REPID}'
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
history: '0' history: '0'
trends: '0' trends: '0'
value_type: TEXT value_type: TEXT
@ -494,7 +494,7 @@ zabbix_export:
parameters: parameters:
- $.flush_lag - $.flush_lag
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -513,7 +513,7 @@ zabbix_export:
parameters: parameters:
- $.flush_lsn - $.flush_lsn
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -531,7 +531,7 @@ zabbix_export:
parameters: parameters:
- $.replay_lag - $.replay_lag
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -550,7 +550,7 @@ zabbix_export:
parameters: parameters:
- $.replay_lsn - $.replay_lsn
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -569,7 +569,7 @@ zabbix_export:
parameters: parameters:
- $.sent_lsn - $.sent_lsn
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -594,7 +594,7 @@ zabbix_export:
parameters: parameters:
- $.state - $.state
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -612,7 +612,7 @@ zabbix_export:
parameters: parameters:
- $.write_lag - $.write_lag
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -631,7 +631,7 @@ zabbix_export:
parameters: parameters:
- $.write_lsn - $.write_lsn
master_item: master_item:
key: 'pgmon[rep_stats,repid={#REPID}]' key: 'pgmon[$(AGENT_NAME},rep_stats,repid={#REPID}]'
tags: tags:
- tag: Application - tag: Application
value: PostgreSQL value: PostgreSQL
@ -644,3 +644,7 @@ zabbix_export:
path: $.repid path: $.repid
- lld_macro: '{#STATE}' - lld_macro: '{#STATE}'
path: $.state path: $.state
macros:
- macro: '{$AGENT_NAME}'
value: pgmon
description: 'The name of the pgmon instance to use'

View File

@ -1 +1 @@
UserParameter=pgmon[*],/usr/local/bin/pgmon.py -c /etc/zabbix/pgmon.cfg "$1,$2,$3,$4,$5,$6,$7,$8,$9" UserParameter=pgmon[*],/usr/local/bin/pgmon.py -c /etc/pgmon/$1.cfg "$2,$3,$4,$5,$6,$7,$8,$9"