Module: check_mk
Branch: master
Commit: 2162c79cd61d00609c1fda297b519e8f519fa2e0
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=2162c79cd61d00…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Nov 5 16:55:02 2013 +0100
New rule for configuring the display_name of a service
Thew new rule set <i>Alternative display name for Services</i> allows you
to specify an alternative name to be displayed for certain services. It sets
the configuration parameter <tt>display_name</tt>. This name is available as
a column when creating new views or modifying existing ones. It is always
visible in the details view of a service. In the availability reporting there
is an option for using that name instead of the normal service description. It
does not automatically replace the normal service name in all views.
<b>Note</b>: The purpose of this rule set is to define unique names for several
well-known services. It cannot rename services in general.
---
.werks/53 | 17 +++++++++++++++++
ChangeLog | 3 +++
web/plugins/views/builtin.py | 2 ++
web/plugins/views/filters.py | 2 ++
web/plugins/views/painters.py | 8 ++++++++
web/plugins/views/sorters.py | 1 +
web/plugins/wato/check_mk_configuration.py | 18 ++++++++++++++++++
7 files changed, 51 insertions(+)
diff --git a/.werks/53 b/.werks/53
new file mode 100644
index 0000000..0e32d55
--- /dev/null
+++ b/.werks/53
@@ -0,0 +1,17 @@
+Title: New rule for configuring the display_name of a service
+Level: 2
+Component: wato
+Version: 1.2.3i7
+Date: 1383666760
+Class: feature
+
+Thew new rule set <i>Alternative display name for Services</i> allows you
+to specify an alternative name to be displayed for certain services. It sets
+the configuration parameter <tt>display_name</tt>. This name is available as
+a column when creating new views or modifying existing ones. It is always
+visible in the details view of a service. In the availability reporting there
+is an option for using that name instead of the normal service description. It
+does not automatically replace the normal service name in all views.
+
+<b>Note</b>: The purpose of this rule set is to define unique names for several
+well-known services. It cannot rename services in general.
diff --git a/ChangeLog b/ChangeLog
index c559e8a..0920db1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,9 @@
* 0044 FIX: LDAP: Fixed error with empty groups during non nested group sync...
* 0045 FIX: LDAP: Fixed error when synchronizing non nested groups to roles...
+ WATO:
+ * 0053: New rule for configuring the display_name of a service...
+
Reporting & Availability:
* 0051: Option for showing timeline directly in availability table...
* 0052: Visual colorization of availability according to levels...
diff --git a/web/plugins/views/builtin.py b/web/plugins/views/builtin.py
index b43da9e..f9e7f7c 100644
--- a/web/plugins/views/builtin.py
+++ b/web/plugins/views/builtin.py
@@ -1219,6 +1219,7 @@ multisite_builtin_views.update({
'service_active_checks_enabled',
'summary_host',
'serviceregex',
+ 'service_display_name',
'check_command',
'hoststate',
'svcstate',
@@ -1284,6 +1285,7 @@ multisite_builtin_views.update({
('svc_in_downtime', None),
('svc_in_notifper', None),
('svc_notifper', None),
+ ('service_display_name', None),
('check_manpage', None),
('svc_custom_notes', None),
('svc_pnpgraph', None),
diff --git a/web/plugins/views/filters.py b/web/plugins/views/filters.py
index 735edbd..66a93b9 100644
--- a/web/plugins/views/filters.py
+++ b/web/plugins/views/filters.py
@@ -68,6 +68,8 @@ declare_filter(200, FilterText("serviceregex", _("Service"), "service",
declare_filter(201, FilterText("service", _("Service (exact match)"), "service", "service_description", "service", "="),
_("Exact match, used for linking"))
+declare_filter(202, FilterText("service_display_name", _("Service alternative display name"), "service", "service_display_name", "service_display_name", "~~"),
+ _("Alternative display name of the service, regex match"))
declare_filter(101, FilterText("hostgroupnameregex", _("Hostgroup)"), "hostgroup", "hostgroup_name", "hostgroup_name", "~~"),
_("Search field allowing regular expressions and partial matches on the names of hostgroups"))
diff --git a/web/plugins/views/painters.py b/web/plugins/views/painters.py
index 67c20e2..d4e8889 100644
--- a/web/plugins/views/painters.py
+++ b/web/plugins/views/painters.py
@@ -482,6 +482,14 @@ multisite_painters["service_description"] = {
"sorter" : 'svcdescr',
}
+multisite_painters["service_display_name"] = {
+ "title" : _("Service alternative dislay name"),
+ "short" : _("Display name"),
+ "columns" : ["service_display_name"],
+ "paint" : lambda row: (None, row["service_display_name"]),
+ "sorter" : 'svcdispname',
+}
+
multisite_painters["svc_state_age"] = {
"title" : _("The age of the current service state"),
"short" : _("Age"),
diff --git a/web/plugins/views/sorters.py b/web/plugins/views/sorters.py
index 51fde64..c5d2419 100644
--- a/web/plugins/views/sorters.py
+++ b/web/plugins/views/sorters.py
@@ -128,6 +128,7 @@ multisite_sorters["host"] = {
# name title column sortfunction
declare_simple_sorter("svcdescr", _("Service description"), "service_description", cmp_simple_string)
+declare_simple_sorter("svcdispname", _("Service alternative display name"), "service_display_name", cmp_simple_string)
declare_simple_sorter("svcoutput", _("Service plugin output"), "service_plugin_output", cmp_simple_string)
declare_simple_sorter("svc_long_plugin_output", _("Long output of check plugin"), "service_long_plugin_output", cmp_simple_string)
declare_simple_sorter("site", _("Site"), "site", cmp_simple_string)
diff --git a/web/plugins/wato/check_mk_configuration.py b/web/plugins/wato/check_mk_configuration.py
index 7738b4f..b17bf65 100644
--- a/web/plugins/wato/check_mk_configuration.py
+++ b/web/plugins/wato/check_mk_configuration.py
@@ -1724,6 +1724,24 @@ register_rule(group,
),
)
+register_rule(group,
+ "extra_service_conf:display_name",
+ TextUnicode(
+ title = _("Alternative display name for Services"),
+ help = _("This rule set allows you to specify an alternative name "
+ "to be displayed for certain services. This name is available as "
+ "a column when creating new views or modifying existing ones. "
+ "It is always visible in the details view of a service. In the "
+ "availability reporting there is an option for using that name "
+ "instead of the normal service description. It does <b>not</b> automatically "
+ "replace the normal service name in all views.<br><br><b>Note</b>: The "
+ "purpose of this rule set is to define unique names for several well-known "
+ "services. It cannot rename services in general."),
+ size = 64,
+ ),
+ itemtype = "service")
+
+
group = "monconf/" + _("Inventory and Check_MK settings")
register_rule(group,
Module: check_mk
Branch: master
Commit: 754a94056d33ff97667fec7f80b82d19dcf9d62d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=754a94056d33ff…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Nov 5 15:50:58 2013 +0100
FIX LDAP: Fixed error when synchronizing non nested groups to roles
---
.werks/45 | 8 ++++++++
ChangeLog | 9 +++++----
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/.werks/45 b/.werks/45
new file mode 100644
index 0000000..7944c2e
--- /dev/null
+++ b/.werks/45
@@ -0,0 +1,8 @@
+Title: LDAP: Fixed error when synchronizing non nested groups to roles
+Level: 1
+Component: multisite
+Version: 1.2.3i7
+Date: 1383663022
+Class: fix
+
+
diff --git a/ChangeLog b/ChangeLog
index 7296f34..be54b61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,10 +4,11 @@
* 0061: cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
Multisite:
- * 0001 : New filters for selecting several host/service-groups at once...
- * 0050 : New concept of favorite hosts and services plus matching filters and views...
- * 0043 FIX : LDAP: Improved error reporting during synchronisation...
- * 0044 FIX : LDAP: Fixed error with empty groups during non nested group sync...
+ * 0001: New filters for selecting several host/service-groups at once...
+ * 0050: New concept of favorite hosts and services plus matching filters and views...
+ * 0043 FIX: LDAP: Improved error reporting during synchronisation...
+ * 0044 FIX: LDAP: Fixed error with empty groups during non nested group sync...
+ * 0045 FIX: LDAP: Fixed error when synchronizing non nested groups to roles...
Reporting & Availability:
* 0051: Option for showing timeline directly in availability table...
Module: check_mk
Branch: master
Commit: 74a4e4054417515647988961629e6f06c10d9b6d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=74a4e405441751…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Nov 5 15:00:19 2013 +0100
FIX LDAP: Fixed error with empty groups during non nested group sync
Latest release introduced a problem when syncing with empty groups
---
.werks/44 | 8 ++++++++
ChangeLog | 1 +
web/plugins/userdb/ldap.py | 2 +-
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/.werks/44 b/.werks/44
new file mode 100644
index 0000000..9e0e19c
--- /dev/null
+++ b/.werks/44
@@ -0,0 +1,8 @@
+Title: LDAP: Fixed error with empty groups during non nested group sync
+Level: 1
+Component: multisite
+Version: 1.2.3i7
+Date: 1383659982
+Class: fix
+
+Latest release introduced a problem when syncing with empty groups
diff --git a/ChangeLog b/ChangeLog
index 5f0da13..1ca11d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,7 @@
* 0001 : New filters for selecting several host/service-groups at once...
* 0050 : New concept of favorite hosts and services plus matching filters and views...
* 0043 FIX : LDAP: Improved error reporting during synchronisation...
+ * 0044 FIX : LDAP: Fixed error with empty groups during non nested group sync...
Livestatus:
* 0023 FIX : table statehist: code cleanup / minor performance improvements...
diff --git a/web/plugins/userdb/ldap.py b/web/plugins/userdb/ldap.py
index 645878c..488a717 100644
--- a/web/plugins/userdb/ldap.py
+++ b/web/plugins/userdb/ldap.py
@@ -532,7 +532,7 @@ def ldap_group_members(filters, filt_attr = 'cn', nested = False):
for dn, obj in ldap_search(ldap_replace_macros(config.ldap_groupspec['dn']), filt, ['cn', member_attr]):
groups[dn] = {
'cn' : obj['cn'][0],
- 'members' : obj[member_attr]
+ 'members' : obj.get(member_attr, []),
}
else:
# Nested querying is more complicated. We have no option to simply do a query for group objects
Module: check_mk
Branch: master
Commit: 23738c436e06c6d59200f28084270bc6c603e61d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=23738c436e06c6…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Tue Nov 5 14:56:08 2013 +0100
Various spelling fixes, plus rewording for clarity
---
doc/drafts/README.rule_based_notifications | 31 ++++++++++++++--------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/doc/drafts/README.rule_based_notifications b/doc/drafts/README.rule_based_notifications
index c091102..cea719b 100644
--- a/doc/drafts/README.rule_based_notifications
+++ b/doc/drafts/README.rule_based_notifications
@@ -2,27 +2,28 @@ Starting point: Check_MK's "Flexible Notifications" are to a decent degree
more flexible than Nagios' builtin notification system. There are some
situations, however, where even more flexiblity is desirable. Furthermore -
if you have a larger number of users - the configuration of the notification
-profiles for each user is very inconveniant.
+profiles for each user is very inconvenient.
-This white pager suggest a new notification system that tackles these problems
-and is easily extendable for the future.
+This white paper suggests a new notification system that tackles these problems
+and is easily extendable in the future.
RULE BASED NOTIFICATIONS
------------------------
The basic idea is that notifications are processed by a rule based engine -
very similar to the "Event Console". A notifcation is in the first place
-independent of an actual user. It goes as follows:
+independent of an actual user. It is handled as follows:
1. The monitoring Core (Nagios/Icinga/CMC) creates a host or service *Alert*.
-2. That alert is being notified by a general global contact calles "checkmk-notify".
+2. The monitoring core notifies the global contact called "checkmk-notify"
+ about the alert.
-3. That contact has "cmk --notify" configured as its notification command. By
+3. This contact has "cmk --notify" configured as its notification command. By
means of an environment variable it gets the list of contacts of the object
for later reference. The actual contacts themselves have notifications disabled.
- This avoid duplicate notifications.
+ This avoids duplicate notifications.
-4. Now the notifications goes through a chain of notification rules, which
+4. Now the notification goes through a chain of notification rules, which
can be edited via WATO (similar to the one in the Event Console). One difference
to the EC is, that in the notification system *all* rules will be applied,
even if a previous rule already matched. That is important in order to have
@@ -31,27 +32,27 @@ independent of an actual user. It goes as follows:
RULES
-----
-The rules have a structure similar to those in the Event Console. There are
-being edited by a dedicated WATO mdule. Each rule consits of a condition
+The rules have a structure similar to those in the Event Console. They are
+edited by a dedicated WATO module. Each rule consist of a condition
and a notification action.
The condition can be formed of:
-* whether a certain timeperiod is currenlty active
+* whether a certain timeperiod is currently active
* the notification number (i.e. phase of escalation)
* the service level (a number that can be attached to each host/service)
* the event type (up, down, ok, crit, etc.)
* a host specification like in WATO rules (using host tags, etc.)
* a service specification using regular expressions (like in WATO rules)
-Further kinds of conditions that we can think of are:
+Further conditions that we can think of are:
* The original state or the complete state transition (e.g. CRIT -> WARN vs. OK -> WARN)
* the type of the check plugin, e.g. only checks of type "if" or "if64"
* whether the host or service is contained in a certain host/service group
* whether it's contained in a certain contact group
* whether it has a certain contact
-* the value of a certain user defined custom variable
+* the value of a certain user-defined custom variable
-When all conditions of a rule are fullfilled, then it matches
+If all conditions of a rule are fullfilled, it matches
and its action is executed. The action consist of:
* Who should be notified?
@@ -66,7 +67,7 @@ and its action is executed. The action consist of:
* The parameters of that plugin
Note: the action is not immediately executed but added to the list of planned
-notifications. This list contains of triples of the following strucute:
+notifications. This list consists of triples of the following structure:
Contact, Plugin, Parameters
Module: check_mk
Branch: master
Commit: 152ab07bd8294b2052a4096adf3dfdce7fc6dc4c
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=152ab07bd8294b…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Nov 5 14:38:21 2013 +0100
Option for showing timeline directly in availability table
In the reporting options of the <i>Availability</i> pages there is
now a new option called <i>Show timeline of each object directly in table</i>. When
this is enabled then for each host or services the timeline chart is being
included directly in the availability table. When hovering over one of the
colored sections a small popup will show the details about that section.
Also new vertical bars indicate hours, days, weeks and months. Just hover
over such a bar in order to see its precise date.
---
.werks/51 | 15 ++++
ChangeLog | 3 +
web/htdocs/pages.css | 2 +-
web/htdocs/views.css | 49 +++++++++++-
web/plugins/views/availability.py | 155 +++++++++++++++++++++++++++++++++----
5 files changed, 203 insertions(+), 21 deletions(-)
Diff: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=152ab07bd8…