Author: buildbot
Date: Tue Aug 13 13:31:49 2013
New Revision: 874468
Log:
Staging update by buildbot for sling
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Aug 13 13:31:49 2013
@@ -1 +1 @@
-1513475
+1513478
Modified:
websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
==============================================================================
---
websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
(original)
+++
websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
Tue Aug 13 13:31:49 2013
@@ -90,8 +90,6 @@ check the health of live Sling systems,
information, Sling requests status, etc.</p>
<p>Health checks are easily extensible either by configuring the supplied
default <code>HealthCheck</code> services, or
by implementing your own services. </p>
-<p>Default rules are provided to check JMX MBeans, OSGi bundle states,
disabling of default Sling
-accounts, JUnit tests results and the output of scripts written in any
language supported by Sling.</p>
<p>The source code of the hc modules is at <a
href="http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/healthcheck">http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/healthcheck</a>.</p>
<h2 id="whats-a-healthcheck">What's a <code>HealthCheck</code> ?</h2>
<p>A <code>HealthCheck</code> is just an OSGi service that returns a
<code>Result</code>.</p>
@@ -111,47 +109,50 @@ accounts, JUnit tests results and the ou
<p>The Result provides a <em>Status</em> (OK, WARN, CRITICAL etc.) and a
human-readable log which provides additional info, including optional DEBUG
messages
that help troubleshooting. The Result log is not stricly tied to a logging
model, so <code>HealthCheck</code>s are free to invent their own types of
logging messages
-if needed. See the <code>org.apache.sling.hc.api.Result</code> class in the
for more details. </p>
-<p><code>HealthCheck</code> services can be selected for execution based on
their <em>tags</em>. The <code>HealthCheckFilter</code> utility
-accepts positive and negative tag parameters, so that
<code>-security,sling</code> for example selects all <code>HealthCheck</code>
-having the <em>sling</em> tag but not the <em>security</em> tag. </p>
-<h2 id="health-check-subsystem-bundles">Health Check subsystem bundles</h2>
-<p>The Health Check subsystem consists of the following bundles:</p>
+if needed. See the <code>org.apache.sling.hc.api.Result</code> class for more
details. </p>
+<p><code>HealthCheck</code> services can be selected for execution based on
their <code>hc.tags</code> multi-value service property. </p>
+<p>The <code>HealthCheckFilter</code> utility accepts positive and negative
tag parameters, so that <code>-security,sling</code>
+selects all <code>HealthCheck</code> having the <code>sling</code> tag but not
the <code>security</code> tag, for example.</p>
+<p>Besides executing them programatically, Health checks can be executed via a
webconsole plugin or via JMX,
+as described below.</p>
+<h2 id="health-check-bundles">Health Check bundles</h2>
+<p>The Health Check subsystem consists of the following bundles, which are
described below in more detail:</p>
<ul>
<li>The only required bundle is <code>org.apache.sling.hc.api</code> which
provides the API and some utility classes.</li>
-<li><code>org.apache.sling.hc.healthchecks</code> provides default
<code>HealthCheck</code> services, described below.</li>
-<li><code>org.apache.sling.hc.webconsole</code> provides the Webconsole plugin
described below.</li>
+<li><code>org.apache.sling.hc.healthchecks</code> provides default
<code>HealthCheck</code> services.</li>
+<li><code>org.apache.sling.hc.webconsole</code> provides the Webconsole
plugin.</li>
<li><code>org.apache.sling.hc.jmx</code> provides JMX MBeans to execute
<code>HealthCheck</code>s.</li>
<li><code>org.apache.sling.hc.samples</code> provides sample OSGi
configurations that demonstrate the default <code>HealthCheck</code>s. These
configurations are provided as Sling content, so the Sling Installer is
required to activate them.</li>
</ul>
-<h2 id="executing-health-checks">Executing health checks</h2>
-<p>Besides executing them programatically, Health checks can be executed via a
webconsole plugin or via JMX,
-see below for more details.</p>
-<h2 id="default-healthcheck-services-and-samples">Default
<code>HealthCheck</code> services and samples</h2>
+<h2 id="out-of-the-box-healthcheck-services">Out-of-the-box
<code>HealthCheck</code> services</h2>
<p>A useful set of default <code>HealthCheck</code>s is provided by the
<code>org.apache.sling.hc.healthchecks</code> bundle. </p>
-<p>The <code>org.apache.sling.hc.samples</code> bundle provides OSGi
configurations that demonstrate the following <code>HealthCheck</code>
services:</p>
+<p>The <code>org.apache.sling.hc.samples</code> bundle provides OSGi
configurations that demonstrate them.</p>
<ul>
<li><code>JmxAttributeHealthCheck</code> checks the value of a single JMX
attribute and supports ranges like <em>between 12 and 42</em>. </li>
<li><code>SlingRequestStatusHealthCheck</code> checks the HTTP status of Sling
requests. </li>
<li><code>ScriptableHealthCheck</code> evaluates an expression written in any
scripting language that Sling supports, and provides bindings to access JMX
attributes and OSGi bundles states. </li>
<li><code>DefaultLoginsHealthCheck</code> can be used to verify that the
default Sling logins fail. </li>
-<li><code>CompositeHealthCheck</code> executes a set of
<code>HealthCheck</code> selected by tags, useful to get higher-level
management views.</li>
+<li><code>CompositeHealthCheck</code> executes a set of
<code>HealthCheck</code> selected by tags, useful for creating higher-level
checks.</li>
</ul>
<h2 id="configuring-health-checks">Configuring health checks</h2>
<p><code>HealthCheck</code> services are created via OSGi configurations.</p>
<p>Here's a <code>ScriptableHealthCheck</code> example configuration provided
by the <code>org.apache.sling.hc.samples</code> bundle:</p>
-<p>PID = org.apache.sling.hc.ScriptableHealthCheck.1523a6db-12324
- Factory PID = org.apache.sling.hc.ScriptableHealthCheck
- hc.mbean.name = InactiveBundlesCheck
- hc.name = No inactive bundles
- hc.tags = [bundles, script]
- expression = osgi.inactiveBundlesCount() == 0
- language.extension = ecma</p>
-<p>Properties starting with the <code>hc.</code> prefix should be provided by
all <code>HealthCheck</code> services.</p>
+<div class="codehilite"><pre><span class="n">Factory</span> <span
class="n">PID</span> <span class="p">=</span> <span class="n">org</span><span
class="p">.</span><span class="n">apache</span><span class="p">.</span><span
class="n">sling</span><span class="p">.</span><span class="n">hc</span><span
class="p">.</span><span class="n">ScriptableHealthCheck</span>
+<span class="n">PID</span> <span class="p">=</span> <span
class="n">org</span><span class="p">.</span><span class="n">apache</span><span
class="p">.</span><span class="n">sling</span><span class="p">.</span><span
class="n">hc</span><span class="p">.</span><span
class="n">ScriptableHealthCheck</span><span class="p">.</span>1523<span
class="n">a6db</span><span class="o">-</span>12324
+<span class="n">hc</span><span class="p">.</span><span
class="n">mbean</span><span class="p">.</span><span class="n">name</span> <span
class="p">=</span> <span class="n">InactiveBundlesCheck</span>
+<span class="n">hc</span><span class="p">.</span><span class="n">name</span>
<span class="p">=</span> <span class="n">No</span> <span
class="n">inactive</span> <span class="n">bundles</span>
+<span class="n">hc</span><span class="p">.</span><span class="n">tags</span>
<span class="p">=</span> <span class="p">[</span><span
class="n">bundles</span><span class="p">,</span> <span
class="n">script</span><span class="p">]</span>
+<span class="n">expression</span> <span class="p">=</span> <span
class="n">osgi</span><span class="p">.</span><span
class="n">inactiveBundlesCount</span><span class="p">()</span> <span
class="o">==</span> 0
+<span class="n">language</span><span class="p">.</span><span
class="n">extension</span> <span class="p">=</span> <span class="n">ecma</span>
+</pre></div>
+
+
+<p>The service properties starting with the <code>hc.</code> prefix in this
example should be provided by all
+<code>HealthCheck</code> services.</p>
<h2 id="webconsole-plugin">Webconsole plugin</h2>
<p>If the <code>org.apache.sling.hc.webconsole</code> bundle is active, a
webconsole plugin
-at <code>/system/console/healthcheck allows for executing health checks,
optionally selected
-based on their tags (positive and negative selection,
see</code>HealthCheckFilter` mention above).</p>
+at <code>/system/console/healthcheck</code> allows for executing health
checks, optionally selected
+based on their tags (positive and negative selection, see
<code>HealthCheckFilter</code> mention above).</p>
<p>The DEBUG logs of health checks can optionally be displayed, and an option
allows for showing only health
checks that have a non-OK status.</p>
<p>The screenshot below shows an example, as of svn revision 1513462.</p>
@@ -161,11 +162,12 @@ checks that have a non-OK status.</p>
<p>The MBean gives access to the <code>Result</code> and the log, as shown on
the screenshot below. </p>
<p>The MBean name defaults to the <code>hc.name</code> service property of the
<em><code>HealthCheck</code></em>, but if an
<code>hc.mbean.name</code> property is provided it is used instead. That
property can include a a slash
-(as in <code>composite/security</code>) to define the MBean service name,
which by default is <em>HealthCheck</em>.</p>
-<p>The example configurations of the <code>org.apache.sling.hc.samples</code>
bundle demonstrate the various features.</p>
+(like <code>CompositeHealthCheck/script</code> in the screenshot) to define
the MBean service name,
+which by default is <em>HealthCheck</em>.</p>
+<p>See the example configurations of the
<code>org.apache.sling.hc.samples</code> for more details.</p>
<p><img alt="" src="jconsole-hc.jpg" /></p>
<div class="timestamp" style="margin-top: 30px; font-size: 80%;
text-align: right;">
- Rev. 1513475 by bdelacretaz on Tue, 13 Aug 2013 13:22:13 +0000
+ Rev. 1513478 by bdelacretaz on Tue, 13 Aug 2013 13:31:42 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache
Sling project