Module: check_mk
Branch: master
Commit: 9c17ecdf242f026c49f6da14bd08d68465c0e984
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9c17ecdf242f02…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed May 16 09:15:59 2012 +0200
FIX: Reimplemented correct behaviour of the logwatch pattern "ignore"
state which is used to drop the matching log lines
---
ChangeLog | 2 +
checks/logwatch | 52 ++++++++++++++++++++-------------
web/plugins/wato/check_parameters.py | 7 +++-
3 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 26286c1..eddc74a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -31,6 +31,8 @@
to their defaults (didn't work for start_url, etc.
* FIX: Fixed editing of ListOf in valuespec editors (e.g. used in logwatch
pattern editor)
+ * FIX: Reimplemented correct behaviour of the logwatch pattern "ignore"
+ state which is used to drop the matching log lines
Multisite:
* FIX: fixed filter of recent event views (4 hours didn't catch)
diff --git a/checks/logwatch b/checks/logwatch
index 4154102..c98b65d 100644
--- a/checks/logwatch
+++ b/checks/logwatch
@@ -84,10 +84,12 @@ def logwatch_state(state):
def logwatch_level_name(level):
if level == 'W': return 'WARN'
elif level == 'C': return 'CRIT'
- else: return 'OK'
+ elif level == 'O': return 'OK'
+ else: return 'IGN'
def logwatch_level_worst(worst, level):
- if level == 'W': return max(worst, 1)
+ if level == 'O': return max(worst, 0)
+ elif level == 'W': return max(worst, 1)
elif level == 'C': return max(worst, 2)
else: return worst
@@ -223,18 +225,20 @@ def check_logwatch(item, params, info):
# Write out new log lines (no reclassify here. It is done later in general for all logs)
#
if len(loglines) > 0:
- worst = 0
+ worst = -1
for line in loglines:
worst = logwatch_level_worst(worst, logwatch_parse_line(line)[0])
- try:
- logarch = file(logfile, "a+")
- logarch.write(time.strftime("<<<%Y-%m-%d %H:%M:%S " + logwatch_state(worst) + ">>>\n"))
- logarch.write("\n".join(loglines) + "\n")
- logarch.close()
- except Exception, e:
- raise MKGeneralException("User %s cannot create logfile: %s" % \
- (username(), e))
+ # Ignore log lines which result in an "I" -> "Ignore" state
+ if worst > -1:
+ try:
+ logarch = file(logfile, "a+")
+ logarch.write(time.strftime("<<<%Y-%m-%d %H:%M:%S " + logwatch_state(worst) + ">>>\n"))
+ logarch.write("\n".join(loglines) + "\n")
+ logarch.close()
+ except Exception, e:
+ raise MKGeneralException("User %s cannot create logfile: %s" % \
+ (username(), e))
# Get the patterns (either compile or reuse the precompiled ones)
# Check_MK creates an empty string if the precompile function has
@@ -263,7 +267,7 @@ def check_logwatch(item, params, info):
counts = {} # for counting number of matches of a certain pattern
state_counts = {} # for counting number of blocks with a certain state
block_header = None
- block_worst = 0
+ block_worst = -1
block_lines = []
block_last_worst_line = ''
@@ -279,15 +283,17 @@ def check_logwatch(item, params, info):
continue
if line.startswith('<<<') and line.endswith('>>>'):
if block_header:
- # The section is finished here. Add it to the list of reclassified lines
- reclassified_lines += finish_block(block_header, block_worst, block_lines)
+ # The section is finished here. Add it to the list of reclassified lines if the
+ # state of the block is not "I" -> "ignore"
+ if block_worst > -1:
+ reclassified_lines += finish_block(block_header, block_worst, block_lines)
- if block_worst >= worst:
- worst = block_worst
- last_worst_line = block_last_worst_line
+ if block_worst >= worst:
+ worst = block_worst
+ last_worst_line = block_last_worst_line
block_lines = []
- block_worst = 0
+ block_worst = -1
block_header = line
counts = {}
else:
@@ -313,8 +319,9 @@ def check_logwatch(item, params, info):
block_lines.append(level + ' ' + text)
- if block_header:
- # The last section is finished here.
+ # The last section is finished here. Add it to the list of reclassified lines if the
+ # state of the block is not "I" -> "ignore"
+ if block_header and block_worst > -1:
reclassified_lines += finish_block(block_header, block_worst, block_lines)
if block_worst >= worst:
@@ -324,7 +331,10 @@ def check_logwatch(item, params, info):
# Only rewrite the lines if at least one line has been reclassified
if reclassified:
- file(logfile, 'w').write('\n'.join(reclassified_lines) + '\n')
+ if reclassified_lines:
+ file(logfile, 'w').write('\n'.join(reclassified_lines) + '\n')
+ else:
+ os.unlink(logfile)
#
# Render output
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index e280f1e..7ac2ef5 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -105,6 +105,7 @@ register_rule(group + '/' + subgroup_applications,
choices = [
('C', _('CRITICAL')),
('W', _('WARNING')),
+ ('O', _('OK')),
('I', _('IGNORE')),
],
),
@@ -117,12 +118,14 @@ register_rule(group + '/' + subgroup_applications,
),
]
),
- help = _('You can define one or several patterns (regular expressions) in each logfile pattern rule. '
+ help = _('<p>You can define one or several patterns (regular expressions) in each logfile pattern rule. '
'These patterns are applied to the selected logfiles to reclassify the '
'matching log messages. The first pattern which matches a line will '
'be used for reclassifying a message. You can use the '
'<a href="wato.py?mode=pattern_editor">Logfile Pattern Analyzer</a> '
- 'to test the rules you defined here.'),
+ 'to test the rules you defined here.</p>'
+ '<p>Select "Ignore" as state to get the matching logs deleted. Other states will keep the '
+ 'log entries but reclassify the state of them.</p>'),
add_label = _("Add pattern"),
),
itemtype = 'item',
Module: check_mk
Branch: master
Commit: c880c78b0d5479e26f888a7d2c96768c5ff5bd91
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c880c78b0d5479…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Tue May 15 17:10:18 2012 +0200
Readme for Agent install
---
doc/agents/README.AIX | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/doc/agents/README.AIX b/doc/agents/README.AIX
new file mode 100644
index 0000000..c956598
--- /dev/null
+++ b/doc/agents/README.AIX
@@ -0,0 +1,54 @@
+
+
+# Install the Agent
+cp /tmp/check_mk_agent.aix /usr/bin/check_mk_agent
+
+# Agent Config
+Change the defaults from
+export MK_LIBDIR="/to/be/changed"
+export MK_CONFDIR="/to/be/changed"
+
+to
+export MK_CONFDIR="/etc/check_mk"
+export MK_LIBDIR="/usr/lib/check_mk_agent"
+
+And create the directories
+mkdir /etc/check_mk /usr/lib/check_mk_agent /usr/lib/check_mk_agent/local /usr/lib/check_mk_agent/plugins
+
+
+# INETD SETUP
+/etc/services
+check_mk 6556/tcp
+
+# WITHOUT TCPWRAPPERS
+/etc/inetd.conf
+check_mk stream tcp nowait root /usr/bin/check_mk_agent
+
+# WITH TCPWRAPPERS
+or, if your system has TCPWrappers
+check_mk stream tcp nowait root /path/to/tcpd /usr/bin/check_mk_agent
+Note - in our testing, tcpwrappers only delivered correct example every 2nd call.
+One might be able to use genfilt as an alternate firewall
+
+and add an allow entry in /etc/hosts.allow:
+check_mk: nagioshost, ip_of_nagios_host, 127.0.0.1
+
+
+
+# Extra FEATURES
+If you wish to have more stats,
+there's 3 ways:
+a)
+you need to get a hold of the utilities for perfstat from
+http://www.ibm.com/developerworks/wikis/display/WikiPtype/ryo
+Do not use the binaries since they do an eternal loop. Instead download
+adapt.c, cpu.c, memory.c and net.c and remove the loops.
+
+This code seems to be not GPLed, so we cannot include it.
+
+
+b)
+enable SNMP and install the correct bundles for host stats
+
+
+c) compile install libstatgrab (recommended!)
Module: check_mk
Branch: master
Commit: e9c5e7721490eb8fcc449307863375bff4372b5d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=e9c5e7721490eb…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue May 15 10:40:23 2012 +0200
Fixed typo in english text
---
web/htdocs/wato.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index bdaca6a..82894b0 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -2660,7 +2660,7 @@ def mode_bulk_cleanup(phase):
html.write("<p>" + _("You have selected <b>%d</b> hosts for bulk cleanup. This means removing "
"explicit attribute values from hosts. The hosts will then inherit attributes "
- "configured at the host list or folders or simply fall back to the builin "
+ "configured at the host list or folders or simply fall back to the builtin "
"default values.") % len(hostnames))
html.write("</p>")
Module: check_mk
Branch: master
Commit: cb63b1effad09e58469be032c377413de6574478
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=cb63b1effad09e…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue May 15 09:17:31 2012 +0200
Updated bug entries #0750
---
.bugs/750 | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/.bugs/750 b/.bugs/750
new file mode 100644
index 0000000..c5cc8fe
--- /dev/null
+++ b/.bugs/750
@@ -0,0 +1,9 @@
+Title: IE8: Sidebarscrolling garbles layout
+Component: multisite
+State: open
+Date: 2012-05-15 09:16:40
+Targetversion: 1.2.0
+Class: bug
+
+If you scroll the sidebar up and down on IE8 then some
+things do not scroll but seem to be fixed to the screen.