def _check_plugins_missing_data( plugins_missing_data: List[CheckPluginName], exit_spec: ExitSpec, some_success: bool, ) -> Iterable[ActiveCheckResult]: if not plugins_missing_data: return if not some_success: yield ActiveCheckResult(exit_spec.get("empty_output", 2), "Got no information from host") return # key is a legacy name, kept for compatibility. specific_plugins_missing_data_spec = exit_spec.get( "specific_missing_sections", []) specific_plugins, generic_plugins = set(), set() for check_plugin_name in plugins_missing_data: for pattern, status in specific_plugins_missing_data_spec: reg = regex(pattern) if reg.match(str(check_plugin_name)): specific_plugins.add((check_plugin_name, status)) break else: # no break generic_plugins.add(str(check_plugin_name)) # key is a legacy name, kept for compatibility. missing_status = exit_spec.get("missing_sections", 1) plugin_list = ", ".join(sorted(generic_plugins)) yield ActiveCheckResult( missing_status, f"Missing monitoring data for plugins: {plugin_list}", ) yield from (ActiveCheckResult(status, str(plugin)) for plugin, status in sorted(specific_plugins))
def _check_plugins_missing_data( plugins_missing_data: List[CheckPluginName], exit_spec: ExitSpec, some_success: bool, ) -> Tuple[ServiceState, ServiceDetails]: if not some_success: return exit_spec.get("empty_output", 2), "Got no information from host" # key is a legacy name, kept for compatibility. specific_plugins_missing_data_spec = exit_spec.get("specific_missing_sections", []) specific_plugins, generic_plugins = set(), set() for check_plugin_name in plugins_missing_data: for pattern, status in specific_plugins_missing_data_spec: reg = regex(pattern) if reg.match(str(check_plugin_name)): specific_plugins.add((check_plugin_name, status)) break else: # no break generic_plugins.add(str(check_plugin_name)) # key is a legacy name, kept for compatibility. generic_plugins_status = exit_spec.get("missing_sections", 1) infotexts = [ "Missing monitoring data for check plugins: %s%s" % ( ", ".join(sorted(generic_plugins)), state_markers[generic_plugins_status], ), ] for plugin, status in sorted(specific_plugins): infotexts.append("%s%s" % (plugin, state_markers[status])) generic_plugins_status = max(generic_plugins_status, status) return generic_plugins_status, ", ".join(infotexts)
def summarizer(self): return AgentSummarizerDefault( ExitSpec(), is_cluster=False, agent_min_version=0, agent_target_version=None, only_from=["deep_space"], )
def summarizer(self, request): return AgentSummarizerDefault( ExitSpec(), is_cluster=False, agent_min_version=0, agent_target_version=request.param, only_from=None, )
def test_configure_missmatch(self, mode, state): assert (AgentSummarizerDefault( ExitSpec(restricted_address_mismatch=state), is_cluster=False, agent_min_version=0, agent_target_version=None, only_from=["deep_space"], ).summarize_check_mk_section( [ ["onlyfrom:", "somewhere_else"], ], mode=mode, )[0].state == state)
def summarizer(self): return Summarizer(ExitSpec())
def summarizer(self): return AgentSummarizerDefault(ExitSpec())