Skip to content

Commit 171890a

Browse files
committed
refactoring
1 parent be40e75 commit 171890a

File tree

9 files changed

+31
-49
lines changed

9 files changed

+31
-49
lines changed

mamonsu/lib/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class Plugin(object):
2424
AgentPluginType = 'all'
2525

2626
# PG version
27-
VersionPG = '10'
27+
VersionPG = '14'
2828

2929
# Macros for run as agent type or as mamonsu
3030
Macros = {"mamonsu": "", "agent": "{$PG_CONNINFO},{$PG_PATH}"}

mamonsu/lib/runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ def is_any_equal(array):
224224
# extract pg version from input
225225
def define_pg_version(version_args):
226226
if len(version_args) < 4:
227-
if version_args == "14" or version_args == "11" or version_args == "12" or version_args == "13" or version_args == "10" \
227+
if version_args == "15" or version_args == "14" or version_args == "11" or version_args == "12" or version_args == "13" or version_args == "10" \
228228
or version_args == "9.6" or version_args == "9.5":
229229
version_number = version_args[0].split('.')
230230
for num in version_number:

mamonsu/plugins/pgsql/archive_command.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# -*- coding: utf-8 -*-
22

33
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
4-
from distutils.version import LooseVersion
54
from .pool import Pooler
65
from mamonsu.lib.zbx_template import ZbxTemplate
76
import re
@@ -200,7 +199,7 @@ def triggers(self, template, dashboard=False):
200199

201200
def keys_and_queries(self, template_zabbix):
202201
result = []
203-
if LooseVersion(self.VersionPG) >= LooseVersion("10"):
202+
if Pooler.server_version_greater("10"):
204203
result.append("{0}[*],$2 $1 -c \"{1}\"".format(self.key.format("." + self.Items[0][0]),
205204
self.query_agent_count_files.format("wal_lsn",
206205
"walfile")))

mamonsu/plugins/pgsql/autovacuum.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# -*- coding: utf-8 -*-
2-
from distutils.version import LooseVersion
32
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
43
from .pool import Pooler
54
from mamonsu.lib.zbx_template import ZbxTemplate
@@ -98,7 +97,7 @@ def graphs(self, template, dashboard=False):
9897

9998
def keys_and_queries(self, template_zabbix):
10099
result = []
101-
if LooseVersion(self.VersionPG) >= LooseVersion("10"):
100+
if Pooler.server_version_greater("10"):
102101
# TODO: define another metric key because it duplicates native zabbix agents keys
103102
# result.append("{0},$2 $1 -c \"{1}\"".format(self.key_count.format("[*]"),
104103
# Pooler.SQL["count_autovacuum"][0].format(

mamonsu/plugins/pgsql/connections.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# -*- coding: utf-8 -*-
22

33
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
4-
from distutils.version import LooseVersion
54
from .pool import Pooler
65
from mamonsu.lib.zbx_template import ZbxTemplate
76

@@ -241,26 +240,18 @@ def keys_and_queries(self, template_zabbix):
241240
for item in self.Items:
242241
result.append("{0}[*],$2 $1 -c \"{1}\"".format(self.key.format("." + item[1]),
243242
self.query_agent.format(item[1],
244-
"AND (backend_type = 'client backend' OR backend_type = 'parallel worker')" if LooseVersion(
245-
self.VersionPG) >= LooseVersion(
246-
"10") else "")))
243+
"AND (backend_type = 'client backend' OR backend_type = 'parallel worker')" if Pooler.server_version_greater("10") else "")))
247244
result.append("{0}[*],$2 $1 -c \"{1}\"".format(self.key.format(".total"), self.query_agent_total.format(
248-
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if LooseVersion(
249-
self.VersionPG) >= LooseVersion(
250-
"10") else "state IS NOT NULL")))
251-
if LooseVersion(self.VersionPG) < LooseVersion("9.6"):
245+
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if Pooler.server_version_greater("10") else "state IS NOT NULL")))
246+
if Pooler.server_version_less("9.5"):
252247
result.append(
253248
"{0}[*],$2 $1 -c \"{1}\"".format(self.key.format(".waiting"), self.query_agent_waiting_old_v.format(
254-
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if LooseVersion(
255-
self.VersionPG) >= LooseVersion(
256-
"10") else "state IS NOT NULL")))
249+
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if Pooler.server_version_greater("10") else "state IS NOT NULL")))
257250
else:
258251
result.append(
259252
"{0}[*],$2 $1 -c \"{1}\"".format(self.key.format(".waiting"), self.query_agent_waiting_new_v.format(
260-
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if LooseVersion(
261-
self.VersionPG) >= LooseVersion(
262-
"10") else "state IS NOT NULL")))
263-
if LooseVersion(self.VersionPG) >= LooseVersion("10"):
253+
"(backend_type = 'client backend' OR backend_type = 'parallel worker')" if Pooler.server_version_greater("10") else "state IS NOT NULL")))
254+
if Pooler.server_version_greater("10"):
264255
result.append("{0}[*],$2 $1 -c \"{1}\"".format(self.key.format(".other"),
265256
self.query_other_connections.format(
266257
"', '".join(self.default_backend_types))))

mamonsu/plugins/pgsql/databases.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
# -*- coding: utf-8 -*-
22

3-
from distutils.version import LooseVersion
43
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
54
from .pool import Pooler
6-
from mamonsu.lib.zbx_template import ZbxTemplate
75
from mamonsu.plugins.pgsql.autovacuum import Autovacuum
86

97

mamonsu/plugins/pgsql/instance.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# -*- coding: utf-8 -*-
22

33
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
4-
from distutils.version import LooseVersion
54
from .pool import Pooler
65
from mamonsu.lib.zbx_template import ZbxTemplate
76

@@ -202,7 +201,7 @@ def triggers(self, template, dashboard=False):
202201

203202
def keys_and_queries(self, template_zabbix):
204203
result = []
205-
if LooseVersion(self.VersionPG) < LooseVersion("12"):
204+
if Pooler.server_version_less("11"):
206205
all_items = self.Items
207206
else:
208207
all_items = self.Items + self.Items_pg_12

mamonsu/plugins/pgsql/statements.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# -*- coding: utf-8 -*-
2-
import logging
32

43
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
5-
from distutils.version import LooseVersion
64
from .pool import Pooler
75

86

@@ -204,7 +202,7 @@ def keys_and_queries(self, template_zabbix):
204202

205203
result = []
206204
all_items = self.Items.copy()
207-
if LooseVersion(self.VersionPG) < LooseVersion("13"):
205+
if Pooler.server_version_less("12"):
208206
self.Items[5][1] = self.Items[5][1].format("total_time")
209207
else:
210208
self.Items[5][1] = self.Items[5][1].format("total_exec_time+total_plan_time")
@@ -226,15 +224,14 @@ def keys_and_queries(self, template_zabbix):
226224
metrics=(", ".join(columns)),
227225
extension_schema=extension_schema)))
228226

229-
if LooseVersion(self.VersionPG) >= LooseVersion("14"):
230-
if Pooler.is_pgpro() or Pooler.is_pgpro_ee():
231-
all_items += self.Items_pg_14
232-
for i, item in enumerate(all_items):
233-
keys = item[0].split("[")
234-
result.append(
235-
"{0}[*],$2 $1 -c \"{1}\"".format("{0}{1}.{2}".format(self.key, keys[0], keys[1][:-1]),
236-
self.query_info.format(metrics=(item[1]),
237-
extension_schema=extension_schema)))
227+
if Pooler.server_version_greater("14"):
228+
if self.extension == "pg_stat_statements":
229+
for i, item in enumerate(self.Items_pg_14):
230+
keys = item[0].split("[")
231+
result.append(
232+
"{0}[*],$2 $1 -c \"{1}\"".format("{0}{1}.{2}".format(self.key, keys[0], keys[1][:-1]),
233+
self.query_info.format(metrics=(item[1]),
234+
extension_schema=extension_schema)))
238235
return template_zabbix.key_and_query(result)
239236
else:
240237
return

mamonsu/plugins/pgsql/wal.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
2+
import sys
23

34
from mamonsu.plugins.pgsql.plugin import PgsqlPlugin as Plugin
4-
from distutils.version import LooseVersion
55
from .pool import Pooler
66
from mamonsu.lib.zbx_template import ZbxTemplate
77

@@ -157,7 +157,7 @@ def items(self, template, dashboard=False):
157157

158158
def keys_and_queries(self, template_zabbix):
159159
result = []
160-
if LooseVersion(self.VersionPG) < LooseVersion("10"):
160+
if Pooler.server_version_less("9.6"):
161161
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wall.format("[*]"), self.query_xlog_lsn_diff))
162162
result.append(
163163
"{0},$2 $1 -c \"{1}\"".format(self.key_count_wall.format("[*]"),
@@ -166,14 +166,13 @@ def keys_and_queries(self, template_zabbix):
166166
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wall.format("[*]"), self.query_wal_lsn_diff))
167167
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_count_wall.format("[*]"),
168168
Pooler.SQL["count_wal_files"][0].format("wal")))
169-
170-
if LooseVersion(self.VersionPG) >= LooseVersion("14"):
171-
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wal_records.format("[*]"), self.query_wal_records))
172-
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wal_fpi.format("[*]"), self.query_wal_fpi))
173-
result.append(
174-
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_buffers_full.format("[*]"), self.query_wal_buffers_full))
175-
result.append(
176-
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_write_time.format("[*]"), self.query_wal_write_time))
177-
result.append(
178-
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_sync_time.format("[*]"), self.query_wal_sync_time))
169+
if Pooler.server_version_greater("14"):
170+
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wal_records.format("[*]"), self.query_wal_records))
171+
result.append("{0},$2 $1 -c \"{1}\"".format(self.key_wal_fpi.format("[*]"), self.query_wal_fpi))
172+
result.append(
173+
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_buffers_full.format("[*]"), self.query_wal_buffers_full))
174+
result.append(
175+
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_write_time.format("[*]"), self.query_wal_write_time))
176+
result.append(
177+
"{0},$2 $1 -c \"{1}\"".format(self.key_wal_sync_time.format("[*]"), self.query_wal_sync_time))
179178
return template_zabbix.key_and_query(result)

0 commit comments

Comments
 (0)