Module: check_mk
Branch: master
Commit: 703ed1673f03d9a2a27b74ed2b11f063c3edffae
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=703ed1673f03d9…
Author: Moritz Kiemer <mo(a)mathias-kettner.de>
Date: Fri Jan 25 10:48:32 2019 +0100
azure_agent_info: create service only for azure host
Also make pylint happy.
Change-Id: Id89d91a35d2debe7df639ef567af353e2828a21b
---
agents/special/agent_azure | 14 ++++++++------
checks/azure_agent_info | 16 ++++++++--------
tests/unit/cmk/gui/watolib/test_rulespecs.py | 1 +
3 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/agents/special/agent_azure b/agents/special/agent_azure
index 9ac8379..b0bad53 100755
--- a/agents/special/agent_azure
+++ b/agents/special/agent_azure
@@ -311,6 +311,8 @@ class Section(object):
return chr(Section.SEP).join(map(str, tokens)) + '\n'
def add(self, info):
+ if not info:
+ return
if isinstance(info[0], (list, tuple)): # we got a list of lines
for row in info:
self._cont.append(self.formatline(row))
@@ -318,6 +320,8 @@ class Section(object):
self._cont.append(self.formatline(info))
def write(self):
+ if not self._cont:
+ return
self.LOCK.acquire()
sys.stdout.writelines(self._head + self._cont + self._foot)
sys.stdout.flush()
@@ -560,17 +564,15 @@ def process_resource(args):
for metric in client.get_metrics(resource, err):
resource.metrics.append(metric)
- sections = [Section('agent_info')]
- sections[0].add(('remaining-reads', client.remaining_reads))
+ agent_info_section = Section('agent_info')
+ agent_info_section.add(('remaining-reads', client.remaining_reads))
+ agent_info_section.add(err.dumpinfo())
+ sections = [agent_info_section]
for piggytarget in resource.piggytargets:
section = Section(resource.section, piggytarget)
section.add(resource.dumpinfo())
sections.append(section)
- if err:
- err_section = Section('agent_info', piggytarget)
- err_section.add(err.dumpinfo())
- sections.append(err_section)
return sections
diff --git a/checks/azure_agent_info b/checks/azure_agent_info
index dc948d5..1d295db 100644
--- a/checks/azure_agent_info
+++ b/checks/azure_agent_info
@@ -72,11 +72,11 @@ def parse_azure_agent_info(info):
return parsed
-def discovery_azure_agent_info(parsed):
- yield "Azure Agent Info", {}
+def discovery_azure_agent_info(_parsed):
+ yield None, {}
-def check_azure_agent_info(item, params, parsed):
+def check_azure_agent_info(_no_item, params, parsed):
reads = parsed.get('remaining-reads')
# this is only reported for the Datasource Host, so None
@@ -98,10 +98,10 @@ def check_azure_agent_info(item, params, parsed):
yield 0, "Monitored groups: %s" % ', '.join(groups[0])
issues = parsed.get('issues', {})
- for t in ('warning', 'exception'):
- count = len(issues.get(t, ()))
- state, txt = 0, "%d %ss" % (count, t)
- warn, crit = params.get('%s_levels' % t, (None, None))
+ for type_ in ('warning', 'exception'):
+ count = len(issues.get(type_, ()))
+ state, txt = 0, "%d %ss" % (count, type_)
+ warn, crit = params.get('%s_levels' % type_, (None, None))
if crit is not None and count >= crit:
state = 2
elif warn is not None and count >= warn:
@@ -120,7 +120,7 @@ check_info['azure_agent_info'] = {
'parse_function': parse_azure_agent_info,
'inventory_function': discovery_azure_agent_info,
'check_function': check_azure_agent_info,
- 'service_description': "%s",
+ 'service_description': "Azure Agent Info",
'default_levels_variable': "azure_agent_info_levels",
'has_perfdata': True,
'group': "azure_agent_info",
diff --git a/tests/unit/cmk/gui/watolib/test_rulespecs.py
b/tests/unit/cmk/gui/watolib/test_rulespecs.py
index 5a13678..d321f38 100644
--- a/tests/unit/cmk/gui/watolib/test_rulespecs.py
+++ b/tests/unit/cmk/gui/watolib/test_rulespecs.py
@@ -22,6 +22,7 @@ from cmk.gui.valuespec import (
from cmk.gui.plugins.wato.utils import register_check_parameters
+
def test_rulespec_sub_group():
class TestGroup(RulespecGroup):
@property