notify.log in OMD environments
Message-ID: <547f18f2./ao9zGjEm8H06Tu7%lm(a)mathias-kettner.de>
User-Agent: Heirloom mailx 12.5 6/20/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Module: check_mk
Branch: master
Commit: 5e6780a84e0d0b0a1dc6d5c07974877c5e17a01a
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5e6780a84e0d0b…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Dec 3 15:06:26 2014 +0100
#1606 FIX Moved notify.log to var/log/notify.log in OMD environments
The log was located in var/check_mk/notify.log but had no log rotation.
We moved it to var/log/notify.log now and added a log rotation. The
related configuration options have been changed to be enabled by default.
We also removed the option to totally disable this logfile because we'd
rather have some log information about eventual missing notifications
than no information at all.
---
.werks/1606 | 14 ++++++++++++++
ChangeLog | 1 +
modules/notify.py | 11 +++++------
notifications/debug | 2 +-
web/htdocs/wato.py | 8 ++++++++
web/plugins/wato/backup_domains.py | 1 -
web/plugins/wato/check_mk_configuration.py | 13 ++-----------
web/plugins/wato/globals_notification.py | 22 +++++++++++++---------
8 files changed, 44 insertions(+), 28 deletions(-)
diff --git a/.werks/1606 b/.werks/1606
new file mode 100644
index 0000000..3270af0
--- /dev/null
+++ b/.werks/1606
@@ -0,0 +1,14 @@
+Title: Moved notify.log to var/log/notify.log in OMD environments
+Level: 1
+Component: notifications
+Compatible: compat
+Version: 1.2.5i7
+Date: 1417615456
+Class: fix
+
+The log was located in var/check_mk/notify.log but had no log rotation.
+We moved it to var/log/notify.log now and added a log rotation. The
+related configuration options have been changed to be enabled by default.
+We also removed the option to totally disable this logfile because we'd
+rather have some log information about eventual missing notifications
+than no information at all.
diff --git a/ChangeLog b/ChangeLog
index 8c4dc1e..dbc87cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -139,6 +139,7 @@
* 1514 FIX: Try harder to detect previous hard state in notification when using
Nagios as core...
* 1582 FIX: Fixed missing graphs in mails when sending notifications to
non-contacts...
* 1583 FIX: Can use contact groups without hosts/services assigned in RBN rules
now...
+ * 1606 FIX: Moved notify.log to var/log/notify.log in OMD environments...
BI:
* 1435 FIX: Saving BI aggregations: No longer reports 'Request-URI Too
Large'...
diff --git a/modules/notify.py b/modules/notify.py
index 87e94c9..871fb30 100644
--- a/modules/notify.py
+++ b/modules/notify.py
@@ -54,8 +54,8 @@ notification_logdir = var_dir + "/notify"
notification_spooldir = var_dir + "/notify/spool"
notification_bulkdir = var_dir + "/notify/bulk"
notification_core_log = var_dir + "/notify/nagios.log" # Fallback for history
if no CMC running
-notification_log = notification_logdir + "/notify.log"
-notification_logging = 0
+notification_log = log_dir + "/notify.log"
+notification_logging = 1
notification_backlog = 10 # keep the last 10 notification contexts for reference
# Settings for new rule based notifications
@@ -133,7 +133,9 @@ Available commands:
# keepalive mode (used by CMC), sends out one notifications from
# several possible sources or sends out all ripe bulk notifications.
def do_notify(args):
- global notify_mode
+ global notify_mode, notification_logging
+ if notification_logging == 0:
+ notification_logging = 1 # transform deprecated value 0 to 1
try:
if not os.path.exists(notification_logdir):
os.makedirs(notification_logdir)
@@ -1230,9 +1232,6 @@ def notify_via_email(plugin_context):
else:
notify_log("No UTF-8 encoding found in your locale -a! Please provide
C.UTF-8 encoding.")
- if notification_logging >= 2:
- file(var_dir + "/notify/body.log",
"w").write(body.encode("utf-8"))
-
# Important: we must not output anything on stdout or stderr. Data of stdout
# goes back into the socket to the CMC in keepalive mode and garbles the
# handshake signal.
diff --git a/notifications/debug b/notifications/debug
index 8cf29ee..d68a3bb 100644
--- a/notifications/debug
+++ b/notifications/debug
@@ -14,7 +14,7 @@
# or notification_logging=2 in main.mk (or via WATO in the
# global settings: Notification -> Debug notifications, then
# you will see this output in the notitifcation log file.
-# Under OMD this file is in ~/var/check_mk/notify/notify.log.
+# Under OMD this file is in ~/var/log/notify.log.
# Please refer to the official documentation for more details.
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index a626574..d941df6 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -18179,6 +18179,14 @@ def is_a_checkbox(vs):
else:
return False
+def site_neutral_path(path):
+ if path.startswith('/omd'):
+ parts = path.split('/')
+ parts[3] = '<siteid>'
+ return '/'.join(parts)
+ else:
+ return path
+
#.
# .--Plugins-------------------------------------------------------------.
# | ____ _ _ |
diff --git a/web/plugins/wato/backup_domains.py b/web/plugins/wato/backup_domains.py
index 35bb452..02da707 100644
--- a/web/plugins/wato/backup_domains.py
+++ b/web/plugins/wato/backup_domains.py
@@ -182,7 +182,6 @@ else:
"prefix" : defaults.omd_root,
"paths" : [
("dir", "var/log"),
- ("file",
"var/check_mk/notify/notify.log"),
("file", "var/nagios/livestatus.log"),
("dir", "var/pnp4nagios/log"),
],
diff --git a/web/plugins/wato/check_mk_configuration.py
b/web/plugins/wato/check_mk_configuration.py
index 29936a1..070f672 100644
--- a/web/plugins/wato/check_mk_configuration.py
+++ b/web/plugins/wato/check_mk_configuration.py
@@ -1138,27 +1138,18 @@ register_configvar(group,
"for the operation, but on the other hand will lead to a
slightly higher load "
"of Nagios for the first couple of minutes after the restart.
")))
-def log_dir_path():
- path = defaults.log_dir
- if path.startswith('/omd'):
- parts = path.split('/')
- parts[2] = '<siteid>'
- return '/'.join(parts)
- else:
- return path
-
register_configvar(group,
"debug_log",
Transform(
Checkbox(
- label = _("Write exceptions to
<tt>%s/crashed-checks.log</tt>" % log_dir_path()),
+ label = _("Write exceptions to
<tt>%s/crashed-checks.log</tt>" % site_neutral_path(defaults.log_dir)),
),
title = _("Log exceptions in check plugins"),
help = _("If this option is enabled Check_MK will create a debug logfile at
"
"<tt>%s/crashed-checks.log</tt> "
"containing details about failed checks (those which have the state
<i>UNKNOWN "
"and the output UNKNOWN - invalid output from plugin</i>...)
Per default no "
- "logfile is written.") % log_dir_path(),
+ "logfile is written.") % site_neutral_path(defaults.log_dir),
forth = lambda x: not not x,
),
need_restart = True)
diff --git a/web/plugins/wato/globals_notification.py
b/web/plugins/wato/globals_notification.py
index 9d4927e..9b43932 100644
--- a/web/plugins/wato/globals_notification.py
+++ b/web/plugins/wato/globals_notification.py
@@ -84,16 +84,20 @@ register_configvar(group,
register_configvar(group,
"notification_logging",
- DropdownChoice(
- title = _("Notification logfile"),
- help = _("When notification debugging is on, additional information will be
"
- "logged in the notification logfile <tt>%s</tt>."
%
- (defaults.var_dir + "/notify/notify.log")),
- choices = [
- ( 0, _("No logging")),
- ( 1, _("One line per notification")),
- ( 2, _("Full dump of all variables and command"))]
+ Transform(
+ DropdownChoice(
+ choices = [
+ ( 1, _("Normal logging")),
+ ( 2, _("Full dump of all variables and command"))
+ ],
+ default_value = 1,
),
+ forth = lambda x: x == 0 and 1 or x, # transform deprecated value 0 (no logging)
to 1
+ title = _("Notification log level"),
+ help = _("You can configure the notification mechanism to log more details
about "
+ "the notifications into the notification log. These information are
logged "
+ "into the file <tt>%s</tt>") %
site_neutral_path(defaults.log_dir + "/notify.log"),
+ ),
domain = "check_mk")
register_configvar(group,