6
6
7
7
8
8
class Health (Plugin ):
9
+ AgentPluginType = 'sys'
9
10
10
11
DEFAULT_CONFIG = {'max_memory_usage' : str (40 * 1024 * 1024 )}
11
12
@@ -23,38 +24,57 @@ def run(self, zbx):
23
24
24
25
def items (self , template ):
25
26
# see supervisor.py:
26
- result = template .item ({
27
- 'name' : 'Mamonsu: plugin errors' ,
28
- 'key' : 'mamonsu.plugin.errors[]' ,
29
- 'value_type' : Plugin .VALUE_TYPE .text # text
30
- }) + template .item ({
31
- 'name' : 'Mamonsu: plugin keep alive' ,
32
- 'key' : 'mamonsu.plugin.keepalive[]'
33
- })
34
- if platform .LINUX :
35
- result += template .item ({
36
- 'name' : 'Mamonsu: rss memory max usage' ,
37
- 'key' : 'mamonsu.memory.rss[max]' ,
38
- 'units' : Plugin .UNITS .bytes
27
+ if self .Type == "mamonsu" :
28
+ result = template .item ({
29
+ 'name' : 'Mamonsu: plugin errors' ,
30
+ 'key' : 'mamonsu.plugin.errors[]' ,
31
+ 'value_type' : Plugin .VALUE_TYPE .text # text
32
+ }) + template .item ({
33
+ 'name' : 'Mamonsu: plugin keep alive' ,
34
+ 'key' : self .right_type ("mamonsu.plugin.keepalive{0}" )
35
+ })
36
+ if platform .LINUX :
37
+ result += template .item ({
38
+ 'name' : 'Mamonsu: rss memory max usage' ,
39
+ 'key' : 'mamonsu.memory.rss[max]' ,
40
+ 'units' : Plugin .UNITS .bytes
41
+ })
42
+ else :
43
+ result = template .item ({
44
+ 'name' : 'Mamonsu: plugin keep alive' ,
45
+ 'key' : self .right_type ("mamonsu.plugin.keepalive{0}" )
39
46
})
40
47
return result
41
48
42
49
def triggers (self , template ):
43
- result = template .trigger ({
44
- 'name' : 'Mamonsu plugin errors '
45
- 'on {HOSTNAME}. {ITEM.LASTVALUE}' ,
46
- 'expression' : '{#TEMPLATE:mamonsu.plugin.errors[].strlen()'
47
- '}>1'
48
- }) + template .trigger ({
49
- 'name' : 'Mamonsu nodata from {HOSTNAME}' ,
50
- 'expression' : '{#TEMPLATE:mamonsu.plugin.keepalive[]'
51
- '.nodata(180)}=1'
52
- })
53
- if platform .LINUX :
54
- result += template .trigger ({
55
- 'name' : 'Mamonsu agent memory usage alert '
56
- 'on {HOSTNAME}: {ITEM.LASTVALUE} bytes' ,
57
- 'expression' : '{#TEMPLATE:mamonsu.memory.rss[max].last()}'
58
- '>' + self .plugin_config ('max_memory_usage' )
50
+ if self .Type == "mamonsu" :
51
+ result = template .trigger ({
52
+ 'name' : 'Mamonsu plugin errors '
53
+ 'on {HOSTNAME}. {ITEM.LASTVALUE}' ,
54
+ 'expression' : '{#TEMPLATE:mamonsu.plugin.errors[].strlen()'
55
+ '}>1'
56
+ }) + template .trigger ({
57
+ 'name' : 'Mamonsu nodata from {HOSTNAME}' ,
58
+ 'expression' : '{#TEMPLATE:' + self .right_type ("mamonsu.plugin.keepalive{0}" ) +
59
+ '.nodata(180)}=1'
60
+ })
61
+ if platform .LINUX :
62
+ result += template .trigger ({
63
+ 'name' : 'Mamonsu agent memory usage alert '
64
+ 'on {HOSTNAME}: {ITEM.LASTVALUE} bytes' ,
65
+ 'expression' : '{#TEMPLATE:mamonsu.memory.rss[max].last()}'
66
+ '>' + self .plugin_config ('max_memory_usage' )
67
+ })
68
+ else :
69
+ result = template .trigger ({
70
+ 'name' : 'Mamonsu nodata from {HOSTNAME}' ,
71
+ 'expression' : '{#TEMPLATE:' + self .right_type ("mamonsu.plugin.keepalive{0}" ) +
72
+ '.nodata(180)}=1'
59
73
})
60
74
return result
75
+
76
+ def keys_and_queries (self , template_zabbix ):
77
+ result = []
78
+ result .append ('{0},{1}' .format ("mamonsu.plugin.keepalive" , "echo 0" ))
79
+ return template_zabbix .key_and_query (result )
80
+
0 commit comments