Module: check_mk
Branch: master
Commit: 228839ed2550c27f8408a9dfab9518ca914d89c0
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=228839ed2550c2…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Sep 21 14:23:31 2012 +0200
Remove false information from jolokia_metrics.bea_requests
---
checkman/jolokia_metrics.bea_requests | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/checkman/jolokia_metrics.bea_requests b/checkman/jolokia_metrics.bea_requests
index cb8add4..d46a9d7 100644
--- a/checkman/jolokia_metrics.bea_requests
+++ b/checkman/jolokia_metrics.bea_requests
@@ -10,9 +10,6 @@ description:
To use this plugin, Jolokia and the agent plugin need to be deployed
on the monitored server in each application container.
- The check can alert if the {WARN}/{CRIT} thresholds for a configurable total
- is exceeded.
-
item:
The name of the application server instance as configured by the agent
followed by the name of the application.
Module: check_mk
Branch: master
Commit: d1ea7dd4815c8e799a70816650f9fc56e0a851ed
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d1ea7dd4815c8e…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Sep 21 13:30:25 2012 +0200
Check manpage for jolokia_metrics.requests
---
checkman/jolokia_metrics.requests | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/checkman/jolokia_metrics.requests b/checkman/jolokia_metrics.requests
new file mode 100644
index 0000000..554709a
--- /dev/null
+++ b/checkman/jolokia_metrics.requests
@@ -0,0 +1,21 @@
+title: Requests to JVM instances
+agents: linux
+author: Mathias Kettner <mk(a)mathias-kettner.de>
+license: GPL
+distribution: check_mk
+description:
+ This check allows to track the number and rate of incoming requests to
+ a JVM application server on BEA weblogic.
+
+ To use this plugin, Jolokia and the agent plugin need to be deployed
+ on the monitored server in each application container.
+
+
+item:
+ The name of the application server instance as configured by the agent
+
+perfdata:
+ The number of requests served.
+
+inventory:
+ One check is created for each JVM instance sent by the agent.
Module: check_mk
Branch: master
Commit: 91c8c03bdd184aa375619eac82a006a7ca0b54ca
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=91c8c03bdd184a…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Sep 21 13:15:36 2012 +0200
Check Manpage for jolokia_metrics.bea_queue
---
checkman/jolokia_metrics.bea_queue | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/checkman/jolokia_metrics.bea_queue b/checkman/jolokia_metrics.bea_queue
new file mode 100644
index 0000000..8f54b9e
--- /dev/null
+++ b/checkman/jolokia_metrics.bea_queue
@@ -0,0 +1,36 @@
+title: Length of queue in BEA
+agents: linux
+author: Mathias Kettner <mk(a)mathias-kettner.de>
+license: GPL
+distribution: check_mk
+description:
+ The BEA application servers have "Execute Queues" in which requests are
+ processed. This check allows to monitor the number of requests that
+ are being queued for processing.
+
+ To use this plugin, Jolokia and the agent plugin need to be deployed
+ on the monitored server in each application container.
+
+ The check can alert if the {WARN}/{CRIT} thresholds for a configurable total
+ is exceeded.
+
+item:
+ The name of the application server instance as configured by the agent
+ followed by the name of the application.
+ I.e. webservices webservices
+
+perfdata:
+ The number queued requests
+
+inventory:
+ One check is created for each application running inside a weblogic
+ instance sent by the agent.
+
+
+[paramters]
+warn (int): This many queue entries will trigger a WARNING state
+crit (int): This many queue entries will trigger a CRITICAL state
+
+[configuration]
+jolokia_metrics_queue_default_levels (int, int): Default levels warning and critical
+
Module: check_mk
Branch: master
Commit: 840f6eccb38b3973fc59e3a9dfb955f9d93e5280
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=840f6eccb38b39…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Sep 21 10:48:02 2012 +0200
Add new bug entry
---
.bugs/803 | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/.bugs/803 b/.bugs/803
new file mode 100644
index 0000000..1001da2
--- /dev/null
+++ b/.bugs/803
@@ -0,0 +1,14 @@
+Title: Oracle Sessions should be able to define limits per Database
+Component: checks
+State: open
+Date: 2012-09-21 10:41:08
+Targetversion: 1.2.0
+Class: feature
+
+The oracle_sessions check has has warn/crit levels. If using WATO those can only
+be specified as a "global" value because no service name can be specified.
+A user tried to work around this using the inventory->ruleset shortcut but that
+didn't help either.
+
+We should change the WATO interface for the check, to make it support the
+same configuration as is available on the CLI-side of things.
Module: check_mk
Branch: master
Commit: 13e0a62ddb66d9229266c93ed09e4485fe2ffeca
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=13e0a62ddb66d9…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Thu Sep 20 18:20:27 2012 +0200
Add new bug entry
---
.bugs/802 | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/.bugs/802 b/.bugs/802
new file mode 100644
index 0000000..4098a21
--- /dev/null
+++ b/.bugs/802
@@ -0,0 +1,13 @@
+Title: BI simulated states only show on top aggregation for BI Boxes
+Component: bi
+State: open
+Date: 2012-09-20 18:17:19
+Targetversion: future
+Class: nastiness
+
+If you add a simulated state for a given service (using foldable)
+it will be reflected on the top-level, but not on the nodes.
+So you see a lot of green items and but the main state stays as
+configured to be simulated
+it's very irritating, since the correct subaggrs and services
+are in fact displayed, just not with their simulated states.
Module: check_mk
Branch: master
Commit: 4bb0453366c40852f3433969d5e5ddc724952040
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4bb0453366c408…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Fri Sep 21 13:21:50 2012 +0200
Check manpage for jolokia_metrics.bea_threads
---
checkman/jolokia_metrics.bea_threads | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/checkman/jolokia_metrics.bea_threads b/checkman/jolokia_metrics.bea_threads
new file mode 100644
index 0000000..d0b3167
--- /dev/null
+++ b/checkman/jolokia_metrics.bea_threads
@@ -0,0 +1,28 @@
+title: Number of JVM threads
+agents: linux
+author: Mathias Kettner <mk(a)mathias-kettner.de>
+license: GPL
+distribution: check_mk
+description:
+ This check works on the number of threads running in a JVM.
+ time.
+
+ To use this plugin, Jolokia and the agent plugin need to be installed
+ on the monitored server.
+
+ This check does not have configurable levels.
+
+item:
+ The name of the application server instance as configured by the agent.
+
+perfdata:
+ The following values are returned in the perfdata:
+ The count of threads for processing requests,
+ The count of idle threads that are ready to process requests,
+ The count of threads that are in standby,
+ The count of "hogging" threads that are executing for too long.
+
+inventory:
+ One check is created per JVM instance sent by the Jolokia agent.
+
+
Module: check_mk
Branch: master
Commit: e551045102e55004a887e1f2570fe4e513039e36
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=e551045102e550…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Sep 21 10:25:45 2012 +0200
FIX: Totally hiding hidden filters from view editor now
---
ChangeLog | 7 ++++---
web/htdocs/forms.py | 8 +++++---
web/htdocs/views.py | 2 +-
3 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 5dabe23..9f781b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -100,9 +100,6 @@
* FIX: Fixed error in printer_supply valuespec which lead to an exception
when defining host/service specific rules
* FIX: Fixed button url icon in docu-url link
- * FIX: Fixed handling of filter configuration in view editor where filters
- are using same variable names. Overlaping filters are now disabled
- in the editor.
BI:
* Great speed up of rule compilation in large environments
@@ -136,6 +133,10 @@
* FIX: Fixed bug in alert statistics view (only last 1000 lines were
processed for calculating the statistics)
* FIX: Added missing downtime icon for comment view
+ * FIX: Fixed handling of filter configuration in view editor where filters
+ are using same variable names. Overlaping filters are now disabled
+ in the editor.
+ * FIX: Totally hiding hidden filters from view editor now
Livecheck:
* FIX: Compile livecheck also if diet libc is missing
diff --git a/web/htdocs/forms.py b/web/htdocs/forms.py
index 3e96ff1..74b18c0 100644
--- a/web/htdocs/forms.py
+++ b/web/htdocs/forms.py
@@ -137,14 +137,16 @@ def container():
(g_section_isopen and "open" or "closed"))
g_section_open = True
-def section(title = None, checkbox = None, id = "", simple=False):
+def section(title = None, checkbox = None, id = "", simple=False, hide = False):
global g_section_open
if g_section_open:
html.write('</td></tr>')
if id:
id = ' id="%s"' % id
- html.write('<tr class="%s"%s><td class="legend%s">' %
- (g_section_isopen and "open" or "closed", id, simple and " simple" or ""))
+ html.write('<tr class="%s"%s%s><td class="legend%s">' %
+ (g_section_isopen and "open" or "closed", id,
+ hide and ' style="display:none;"' or '',
+ simple and " simple" or ""))
if title:
html.write('<div class="title%s">%s<span class="dots">%s</span></div>' %
(checkbox and " withcheckbox" or "", title, "."*100))
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index eaf7dd9..37711e9 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -619,7 +619,7 @@ def page_edit_view():
shown_help = False
for sortindex, title, fname, filt in s:
- forms.section(title)
+ forms.section(title, hide = not filt.visible())
if not shown_help:
html.help(_("Please configure, which of the available filters will be used in this "
"view. <br><br><b>Show to user</b>: the user will be able to see and modify these "
Module: check_mk
Branch: master
Commit: c7638e67f22f03eabc712a8233cc7fe2e3765262
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c7638e67f22f03…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Sep 21 10:17:48 2012 +0200
FIX: Fixed handling of filter configuration in view editor where filters
are using same variable names. Overlaping filters are now disabled in the editor.
---
ChangeLog | 3 ++
web/htdocs/js/checkmk.js | 62 ++++++++++++++++++++++++++++++++++-----------
web/htdocs/views.py | 32 +++++++++++++++++++++--
3 files changed, 79 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f33ad6a..5dabe23 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -100,6 +100,9 @@
* FIX: Fixed error in printer_supply valuespec which lead to an exception
when defining host/service specific rules
* FIX: Fixed button url icon in docu-url link
+ * FIX: Fixed handling of filter configuration in view editor where filters
+ are using same variable names. Overlaping filters are now disabled
+ in the editor.
BI:
* Great speed up of rule compilation in large environments
diff --git a/web/htdocs/js/checkmk.js b/web/htdocs/js/checkmk.js
index dd43ee0..9658447 100644
--- a/web/htdocs/js/checkmk.js
+++ b/web/htdocs/js/checkmk.js
@@ -55,6 +55,17 @@ if (!Array.prototype.indexOf)
};
}
+// The nextSibling attribute points also to "text nodes" which might
+// be created by spaces or even newlines in the HTML code and not to
+// the next painted dom object.
+// This works around the problem and really returns the next object.
+function real_next_sibling(o) {
+ var n = o.nextSibling;
+ while (n.nodeType != 1)
+ n = n.nextSibling;
+ return n;
+}
+
var classRegexes = {};
function hasClass(obj, cls) {
@@ -297,29 +308,50 @@ function update_headinfo(text)
}
}
+function toggle_input_fields(container, type, disable) {
+ var fields = container.getElementsByTagName(type);
+ for(var a = 0; a < fields.length; a++) {
+ fields[a].disabled = disable;
+ }
+}
+
+function toggle_other_filters(fname, disable_others) {
+ for(var i = 0; i < g_filter_groups[fname].length; i++) {
+ var other_fname = g_filter_groups[fname][i];
+ var oSelect = document.getElementById('filter_' + other_fname);
+
+ // When the filter is active, disable the other filters and vice versa
+
+ // Disable the "filter mode" dropdown
+ oSelect.disabled = disable_others;
+
+ // Now dig into the filter and rename all input fields.
+ // If disabled add an "_disabled" to the end of the var
+ // If enabled remve "_disabled" from the end of the var
+ var oFloatFilter = real_next_sibling(oSelect);
+ if (oFloatFilter) {
+ toggle_input_fields(oFloatFilter, 'input', disable_others);
+ toggle_input_fields(oFloatFilter, 'select', disable_others);
+ oFloatFilter = null;
+ }
+
+ oSelect = null;
+ }
+}
function filter_activation(oSelect)
{
var usage = oSelect.value;
+ var fname = oSelect.id.replace('filter_', '');
+
+ // Disable/Enable other filters which conflict with this filter
+ toggle_other_filters(fname, usage != 'off');
+
+ // Make the current filter visible/invisible
var oDiv = oSelect.parentNode;
oDiv.setAttribute("className", "filtersetting " + usage);
oDiv.setAttribute("class", "filtersetting " + usage);
- // If the filter is not in state hard or show, disable filter
- // input
- var disabled = usage != "hard" && usage != "show";
- var oFloatFilter = oSelect.nextSibling;
- if (oFloatFilter) {
- for (var i in oFloatFilter.childNodes) {
- oNode = oFloatFilter.childNodes[i];
- if (oNode.tagName == "INPUT" || oNode.tagName == "SELECT") {
- oNode.disabled = disabled;
- }
- }
- oFloatFilter = null;
- }
-
- p = null;
oDiv = null;
oSelect = null;
}
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index 502866f..eaf7dd9 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -590,11 +590,33 @@ def page_edit_view():
forms.header(_("Filters"), isopen=False)
allowed_filters = filters_allowed_for_datasource(datasourcename)
+
# sort filters according to title
s = [(filt.sort_index, filt.title, fname, filt)
for fname, filt in allowed_filters.items()
if fname not in ubiquitary_filters ]
s.sort()
+
+ # Construct a list of other filters which conflict with this filter. A filter uses one or
+ # several http variables for transporting the filter data. There are several filters which
+ # have overlaping vars which must not be used at the same time. Those filters must exclude
+ # eachother. This is done in the JS code. When activating one filter it checks which other
+ # filters to disable and makes the "mode" dropdowns unchangable.
+ filter_htmlvars = {}
+ for sortindex, title, fname, filt in s:
+ for htmlvar in filt.htmlvars:
+ if htmlvar not in filter_htmlvars:
+ filter_htmlvars[htmlvar] = []
+ filter_htmlvars[htmlvar].append(fname)
+
+ filter_groups = {}
+ for sortindex, title, fname, filt in s:
+ filter_groups[fname] = set([])
+ for htmlvar in filt.htmlvars:
+ filter_groups[fname].update(filter_htmlvars[htmlvar])
+ filter_groups[fname].remove(fname)
+ filter_groups[fname] = list(filter_groups[fname])
+
shown_help = False
for sortindex, title, fname, filt in s:
forms.section(title)
@@ -620,14 +642,18 @@ def page_edit_view():
html.write('</div>')
html.write('<div class=clear></div>')
html.help(filt.comment)
-
- # Set all filters into the proper display state
+
html.write("<script language=\"javascript\">\n")
+
+ html.write("g_filter_groups = %r;\n" % filter_groups)
+
+ # Set all filters into the proper display state
for fname, filt in allowed_filters.items():
if fname not in ubiquitary_filters:
html.write("filter_activation(document.getElementById(\"filter_%s\"));\n" % fname)
+
html.write("</script>\n")
-
+
def sorter_selection(title, var_prefix, maxnum, data):
allowed = allowed_for_datasource(data, datasourcename)