Skip to content

Commit 0b15904

Browse files
committed
Merge branch 'dev'
2 parents 8e7637e + 973b3f5 commit 0b15904

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

.github/workflows/mamonsu-tests-master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
strategy:
2424
matrix:
2525
docker_os: ['ubuntu:20.04', 'centos:7', 'centos:8']
26-
zabbix_version: ['4.0', '5.0', '5.4']
26+
zabbix_version: ['4.0', '4.4.10', '5.0', '5.4']
2727
pg_version: ['9.6', '10', '11', '12', '13', '14']
2828
exclude:
2929
# excludes PG 9.6 on CentOS 8

mamonsu/lib/zbx_template.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class ZbxTemplate(object):
99
plg_type = 'all'
1010
mainTemplate = """<?xml version="1.0" encoding="UTF-8"?>
1111
<zabbix_export>
12-
<version>2.0</version>
12+
<version>3.0</version>
1313
<groups>
1414
<group>
1515
<name>Templates</name>
@@ -19,6 +19,7 @@ class ZbxTemplate(object):
1919
<template>
2020
<template>{template}</template>
2121
<name>{template}</name>
22+
<description/>
2223
<groups>
2324
<group>
2425
<name>Templates</name>
@@ -63,6 +64,10 @@ class ZbxTemplate(object):
6364
('privatekey', None), ('port', None), ('description', None)
6465
]
6566

67+
item_prototype_defaults = [
68+
('application_prototypes', None)
69+
]
70+
6671
trigger_defaults = [
6772
('expression', None), ('name', None), ('url', None),
6873
('status', 0), ('priority', 3), ('description', None),
@@ -107,7 +112,7 @@ class ZbxTemplate(object):
107112
('ipmi_sensor', None), ('authtype', 0),
108113
('username', None), ('password', None), ('publickey', None),
109114
('privatekey', None), ('port', None), ('lifetime', 7),
110-
('description', None), ('key', None)
115+
('description', None), ('key', None), ('host_prototypes', None)
111116
]
112117

113118
dashboard_defaults = [
@@ -303,11 +308,11 @@ def _macro(self, xml_key='macro'):
303308
result += '<{1}>{0}</{1}>'.format(self._format_args(self.macro_defaults, value), xml_key)
304309
return result
305310

306-
def item(self, args=None, xml_key='item'):
311+
def item(self, args=None, xml_key='item', prototype=False):
307312
if args is None:
308313
args = {}
309314
return '<{2}>{0}{1}</{2}>'.format(
310-
self._format_args(self.item_defaults, args),
315+
self._format_args(self.item_defaults if not prototype else self.item_defaults + self.item_prototype_defaults, args),
311316
self._application(), xml_key)
312317

313318
def trigger(self, args=None, xml_key='trigger', defaults=None):
@@ -371,7 +376,6 @@ def condition(self, args=None, xml_key='condition'):
371376
return res
372377

373378
def discovery_rule(self, rule=None, conditions=None, items=None, triggers=None, graphs=None):
374-
375379
if rule is None:
376380
rule = {}
377381
if conditions is None:
@@ -384,7 +388,7 @@ def discovery_rule(self, rule=None, conditions=None, items=None, triggers=None,
384388
graphs = []
385389
result_items = '<item_prototypes>'
386390
for item in items:
387-
result_items += self.item(item, xml_key='item_prototype')
391+
result_items += self.item(item, xml_key='item_prototype', prototype=True)
388392
result_items += '</item_prototypes>'
389393

390394
result_triggers = '<trigger_prototypes>'
@@ -437,4 +441,5 @@ def _format_args(self, defaults, override):
437441
else:
438442
row = '<{0}>{1}</{0}>'.format(key, val)
439443
result += row
444+
440445
return result

mamonsu/plugins/pgsql/xlog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ def triggers(self, template, dashboard=False):
201201
}) + template.trigger({
202202
'name': 'PostgreSQL number of non-active replication slots '
203203
'on {HOSTNAME} (value={ITEM.LASTVALUE})',
204-
'expression': '{#TEMPLATE:' + self.right_type(self.key_non_active_slots) + '.last()}#' +
204+
'expression': '{#TEMPLATE:' + self.right_type(self.key_non_active_slots) + '.last()}&gt;' +
205205
str(NUMBER_NON_ACTIVE_SLOTS)
206206
})
207207
return triggers

0 commit comments

Comments
 (0)