Module: check_mk
Branch: master
Commit: aaa0acd5353296514b95b27cb60ff2e906cef10e
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=aaa0acd5353296…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Apr 13 11:37:41 2012 +0200
Logwatch: Fixed handling when no patterns/rules are defined
---
checks/logwatch | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/checks/logwatch b/checks/logwatch
index 81a8d48..a0194a7 100644
--- a/checks/logwatch
+++ b/checks/logwatch
@@ -235,7 +235,10 @@ def check_logwatch(item, params, info):
(username(), e))
# Get the patterns (either compile or reuse the precompiled ones)
- if params:
+ # Check_MK creates an empty string if the precompile function has
+ # not been exectued yet. The precomile function creates an empty
+ # list when no rules/patterns are defined.
+ if params != '':
patterns = params # patterns already precompiled
else:
patterns = logwatch_precompile(g_hostname, item, None)
Module: check_mk
Branch: master
Commit: 0844df449f0445275013d5920898803e132ee57a
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0844df449f0445…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Apr 12 16:29:16 2012 +0200
Renamed logwatch editor to logwatch analyzer, Made dialog usable without hostname/filename
---
web/htdocs/wato.py | 39 +++++++++++++++++++++------------------
1 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index f5d2d70..3833af5 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -9913,8 +9913,12 @@ def mode_pattern_editor(phase):
if phase == "title":
if not hostname and not item:
return _("Logfile Pattern Analyzer")
+ elif not hostname:
+ return _("Logfile Patterns of Logfile %s on all Hosts") % (item)
+ elif not item:
+ return _("Logfile Patterns of Host %s") % (hostname)
else:
- return _("Logfile Patterns of Host %s: %s") % (hostname, item)
+ return _("Logfile Patterns of Logfile %s on Host %s") % (item, hostname)
elif phase == "buttons":
html.context_button(_("Home"), make_link([("mode", "main")]), "home")
@@ -9940,24 +9944,8 @@ def mode_pattern_editor(phase):
return
if phase == "action":
- if not hostname:
- raise MKUserError('host', _('The mandatory parameter "host" is missing.'))
-
- if not host:
- raise MKUserError('host', _('The given host does not exist.'))
-
- if not item:
- raise MKUserError('file', _('The mandatory parameter "file" is missing.'))
-
return
- if not host:
- html.add_user_error('host', _('The given host does not exist.'))
- hostname = ''
- else:
- # FIXME: Check if item exists
- pass
-
html.write(
'<div class=info> '
+ _('On this page you can test the defined logfile patterns against a custom text, '
@@ -9995,6 +9983,12 @@ def mode_pattern_editor(phase):
html.hidden_fields()
html.end_form()
+ # Bail out if the given hostname does not exist
+ if hostname and not host:
+ html.add_user_error('host', _('The given host does not exist.'))
+ html.show_user_errors()
+ return
+
varname = 'checkgroup_parameters:logwatch_rules'
rulespec = g_rulespecs[varname]
all_rulesets = load_all_rulesets()
@@ -10027,10 +10021,19 @@ def mode_pattern_editor(phase):
# Check if this rule applies to the given host/service
if hostname:
+ # If hostname (and maybe filename) try match it
reason = rule_matches_host_and_item(
rulespec, tag_specs, host_list, item_list, folder, g_folder, hostname, item)
+ elif item:
+ # If only a filename is given
+ reason = False
+ for i in item_list:
+ if re.match(i, str(item)):
+ reason = True
+ break
else:
- reason = _('No hostname given.')
+ # If no host/file given match all rules
+ reason = True
match_img = ''
if reason == True: