@@ -20,21 +20,6 @@ class Databases(Plugin):
2020 query_agent_discovery = "SELECT json_build_object ('data',json_agg(json_build_object('{#DATABASE}',d.datname)))" \
2121 " FROM pg_database d WHERE NOT datistemplate AND datallowconn AND datname!='postgres';"
2222
23- # dictionary to keep all queries in one container
24- SQL = {"pgsql.database.discovery{0}" : "SELECT json_build_object "
25- "('data',json_agg(json_build_object('{#DATABASE}',d.datname)))" \
26- " FROM pg_database d WHERE NOT datistemplate AND datallowconn "
27- "AND datname!='postgres';" ,
28- "pgsql.database.size{0}" : "select pg_database_size(datname::text) from pg_catalog.pg_database where" \
29- " datistemplate = false and datname = :'p1'" ,
30- "pgsql.database.max_age{0}" : "select age(datfrozenxid) from pg_catalog.pg_database "
31- "where datistemplate = false " \
32- "and datname = :'p1'" ,
33- "pgsql.database.bloating_tables{0}" : "select count(*) from pg_catalog.pg_stat_all_tables where " \
34- "(n_dead_tup/(n_live_tup+n_dead_tup)::float8) > {0} and " \
35- "(n_live_tup+n_dead_tup) > {1}" ,
36- "pgsql.autovacumm.count{0}" : Pooler .SQL ['count_autovacuum' ][0 ]
37- }
3823 key_db_discovery = "pgsql.database.discovery{0}"
3924 key_db_size = "pgsql.database.size{0}"
4025 key_db_age = "pgsql.database.max_age{0}"
@@ -72,7 +57,7 @@ def items(self, template):
7257 return template .item ({
7358 'name' : 'PostgreSQL: count of autovacuum workers' ,
7459 'key' : self .right_type (self .key_autovacumm ),
75- 'delay' : self .plugin_config ('interval' )
60+ 'delay' : self .plugin_config ('interval' )
7661 })
7762
7863 def discovery_rules (self , template ):
@@ -86,13 +71,13 @@ def discovery_rules(self, template):
8671 'name' : 'Database {#DATABASE}: size' ,
8772 'units' : Plugin .UNITS .bytes ,
8873 'value_type' : Plugin .VALUE_TYPE .numeric_unsigned ,
89- 'delay' : self .plugin_config ('interval' )},
74+ 'delay' : self .plugin_config ('interval' )},
9075 {'key' : self .right_type (self .key_db_age , var_discovery = "{#DATABASE}," ),
9176 'name' : 'Max age (datfrozenxid) in: {#DATABASE}' ,
92- 'delay' : self .plugin_config ('interval' )},
77+ 'delay' : self .plugin_config ('interval' )},
9378 {'key' : self .right_type (self .key_db_bloating_tables , var_discovery = "{#DATABASE}," ),
9479 'name' : 'Count of bloating tables in database: {#DATABASE}' ,
95- 'delay' : self .plugin_config ('interval' )}
80+ 'delay' : self .plugin_config ('interval' )}
9681 ]
9782 graphs = [
9883 {
@@ -131,6 +116,6 @@ def keys_and_queries(self, template_zabbix):
131116 result .append ('{0},echo "{1}" | $3 $2 -v p1="$1"' .format (self .key_db_age .format ("[*]" ), self .query_age ))
132117 result .append (
133118 '{0},$3 $2 -d "$1" -c "{1}"' .format (self .key_db_bloating_tables .format ("[*]" ),
134- self .query_bloating_tables .format (self .plugin_config ('bloat_scale' ),
135- self .plugin_config ('min_rows' ))))
119+ self .query_bloating_tables .format (self .plugin_config ('bloat_scale' ),
120+ self .plugin_config ('min_rows' ))))
136121 return template_zabbix .key_and_query (result )
0 commit comments